Function at 0x40f4c0
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, 0x680
mov esi, esp
mov dword [esi + 0x3ac], 0x39aeeb65
lea eax, [esi + 0x3ac]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x3ac]
mov ecx, eax
sub ecx, 0x80ace23e
je 0x411086
jmp 0x40f4fa
mov ecx, eax
sub ecx, 0x813f85d4
je 0x413404
jmp 0x40f50a
mov ecx, eax
sub ecx, 0x81c09b98
je 0x4112b7
jmp 0x40f51a
mov ecx, eax
sub ecx, 0x8370e5e4
je 0x41286b
jmp 0x40f52a
mov ecx, eax
sub ecx, 0x8409cdde
je 0x412d22
jmp 0x40f53a
mov ecx, eax
sub ecx, 0x84c244a1
je 0x41434c
jmp 0x40f54a
mov ecx, eax
sub ecx, 0x84d3a858
je 0x413e78
jmp 0x40f55a
mov ecx, eax
sub ecx, 0x84f5a49e
je 0x4122e1
jmp 0x40f56a
mov ecx, eax
sub ecx, 0x858ab4aa
je 0x410a10
jmp 0x40f57a
mov ecx, eax
sub ecx, 0x86b17cd7
je 0x4127fe
jmp 0x40f58a
mov ecx, eax
sub ecx, 0x872175d7
je 0x410648
jmp 0x40f59a
mov ecx, eax
sub ecx, 0x872b0f5b
je 0x41041d
jmp 0x40f5aa
mov ecx, eax
sub ecx, 0x87e7ada5
je 0x413db4
jmp 0x40f5ba
mov ecx, eax
sub ecx, 0x88b34559
je 0x4117d9
jmp 0x40f5ca
mov ecx, eax
sub ecx, 0x892f2db4
je 0x41247c
jmp 0x40f5da
mov ecx, eax
sub ecx, 0x89645165
je 0x413a7b
jmp 0x40f5ea
mov ecx, eax
sub ecx, 0x8a72b6f3
je 0x4122ab
jmp 0x40f5fa
mov ecx, eax
sub ecx, 0x8acdc0d9
je 0x41274f
jmp 0x40f60a
mov ecx, eax
sub ecx, 0x8b526b6d
je 0x410f6d
jmp 0x40f61a
mov ecx, eax
sub ecx, 0x8c4a1157
je 0x413a1f
jmp 0x40f62a
mov ecx, eax
sub ecx, 0x8ca61eb1
je 0x413dc2
jmp 0x40f63a
mov ecx, eax
sub ecx, 0x8e6d7399
je 0x4112f5
jmp 0x40f64a
mov ecx, eax
sub ecx, 0x8fd76613
je 0x41359c
jmp 0x40f65a
mov ecx, eax
sub ecx, 0x9245da52
je 0x41090a
jmp 0x40f66a
mov ecx, eax
sub ecx, 0x928db814
je 0x4111dc
jmp 0x40f67a
mov ecx, eax
sub ecx, 0x9343c14f
je 0x4117e7
jmp 0x40f68a
mov ecx, eax
sub ecx, 0x96b09175
je 0x413e35
jmp 0x40f69a
mov ecx, eax
sub ecx, 0x96d8548c
je 0x411fcf
jmp 0x40f6aa
mov ecx, eax
sub ecx, 0x995626ef
je 0x4102d5
jmp 0x40f6ba
mov ecx, eax
sub ecx, 0x99735fb8
je 0x410546
jmp 0x40f6ca
mov ecx, eax
sub ecx, 0x9a1c9021
je 0x414373
jmp 0x40f6da
mov ecx, eax
sub ecx, 0x9af35923
je 0x411370
jmp 0x40f6ea
mov ecx, eax
sub ecx, 0x9cc71af3
je 0x413caa
jmp 0x40f6fa
mov ecx, eax
sub ecx, 0x9d4631be
je 0x413532
jmp 0x40f70a
mov ecx, eax
sub ecx, 0x9e68fde9
je 0x412db0
jmp 0x40f71a
mov ecx, eax
sub ecx, 0xa02c6451
je 0x413e92
jmp 0x40f72a
mov ecx, eax
sub ecx, 0xa53b1ee5
je 0x413dde
jmp 0x40f73a
mov ecx, eax
sub ecx, 0xa8231d03
je 0x4135f3
jmp 0x40f74a
mov ecx, eax
sub ecx, 0xa8324fa5
je 0x414331
jmp 0x40f75a
mov ecx, eax
sub ecx, 0xa906fd32
je 0x413983
jmp 0x40f76a
mov ecx, eax
sub ecx, 0xabc8fb78
je 0x4113fc
jmp 0x40f77a
mov ecx, eax
sub ecx, 0xae81933e
je 0x410924
jmp 0x40f78a
mov ecx, eax
sub ecx, 0xb05929b9
je 0x413dd0
jmp 0x40f79a
mov ecx, eax
sub ecx, 0xb171b0bf
je 0x4134c4
jmp 0x40f7aa
mov ecx, eax
sub ecx, 0xb2dceb7e
je 0x412844
jmp 0x40f7ba
mov ecx, eax
sub ecx, 0xb3c375ca
je 0x4118bd
jmp 0x40f7ca
mov ecx, eax
sub ecx, 0xb7675bc6
je 0x410791
jmp 0x40f7da
mov ecx, eax
sub ecx, 0xbc3d9956
je 0x411d2a
jmp 0x40f7ea
mov ecx, eax
sub ecx, 0xbcea810b
je 0x413c2e
jmp 0x40f7fa
mov ecx, eax
sub ecx, 0xc062d904
je 0x4109e8
jmp 0x40f80a
mov ecx, eax
sub ecx, 0xc29654b1
je 0x412309
jmp 0x40f81a
mov ecx, eax
sub ecx, 0xc2ea3090
je 0x4141da
jmp 0x40f82a
mov ecx, eax
sub ecx, 0xc4393686
je 0x411362
jmp 0x40f83a
mov ecx, eax
sub ecx, 0xc5a7a6b3
je 0x412984
jmp 0x40f84a
mov ecx, eax
sub ecx, 0xc647f654
je 0x41104b
jmp 0x40f85a
mov ecx, eax
sub ecx, 0xc740615c
je 0x4113ee
jmp 0x40f86a
mov ecx, eax
sub ecx, 0xc77c25e1
je 0x411d88
jmp 0x40f87a
mov ecx, eax
sub ecx, 0xc78b6040
je 0x413a63
jmp 0x40f88a
mov ecx, eax
sub ecx, 0xc94944b6
je 0x413540
jmp 0x40f89a
mov ecx, eax
sub ecx, 0xcd68cc00
je 0x4117bf
jmp 0x40f8aa
mov ecx, eax
sub ecx, 0xd18d4aa2
je 0x413502
jmp 0x40f8ba
mov ecx, eax
sub ecx, 0xd263b947
je 0x4115fa
jmp 0x40f8ca
mov ecx, eax
sub ecx, 0xd302fde6
je 0x41271f
jmp 0x40f8da
mov ecx, eax
sub ecx, 0xd4a909a4
je 0x413d84
jmp 0x40f8ea
mov ecx, eax
sub ecx, 0xd5fdb1f3
je 0x412407
mov eax, dword [esi + 4]
mov dword [eax], 0x5853f83a
mov dword [esi + 0x314], 0
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x4b4bfb6c
jmp 0x414388
mov eax, 0xf06d588c
cmp dword [esi + 0x58], 1
jl 0x410556
mov eax, 0x8370e5e4
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov al, byte [esi + 0x1dc]
mov byte [esi + 0x208], al
mov byte [esi + 0x1e0], 0x8d
mov byte [esi + 0x1e1], 0x89
mov byte [esi + 0x1e2], 0x8e
mov byte [esi + 0x1e3], 0x8f
mov eax, 4
mov byte [esi + eax + 0x1e0], 0
add eax, 1
cmp eax, 5
jne 0x410675
xor eax, eax
cmp eax, 5
jae 0x4106c3
movzx edi, byte [esi + eax + 0x1e0]
mov ecx, eax
add ecx, 0xd2c52262
mov edx, eax
add edx, 0x62
mov ebx, eax
add ebx, 0x62
or edx, ebx
and edx, edi
or ecx, edi
mov ebx, edx
xor ebx, ecx
xor edx, ecx
or ebx, edx
add bl, 0x16
mov byte [esi + eax + 0x1e0], bl
add eax, 1
jmp 0x410687
mov eax, dword [esi + 0x1e0]
mov dword [esi + 0x458], eax
mov cl, byte [esi + 0x1d8]
mov byte [esi + 0x20c], cl
mov byte [esi + 0x418], 0xd3
mov byte [esi + 0x419], 0x47
mov ecx, 2
mov byte [esi + ecx + 0x418], 0
add ecx, 1
cmp ecx, 8
jne 0x4106ee
xor ecx, ecx
cmp ecx, 8
jae 0x410753
movzx edi, byte [esi + ecx + 0x418]
mov ebx, ecx
and ebx, 0x20aa30ef
xor ebx, 0x20aa30ef
mov edx, ecx
and edx, 0xdf55cf10
sub edx, ebx
mov ebx, edx
and ebx, edi
shl ebx, 1
mov eax, edx
and eax, edi
shl eax, 1
xor edx, edi
mov edi, edx
add edi, eax
sub edi, ebx
and edx, 1
or edi, 1
add edi, 0xaa
add edx, edi
mov byte [esi + ecx + 0x418], dl
add ecx, 1
jmp 0x410700
mov eax, dword [esi + 8]
lea ecx, [esi + 0x418]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esi + 0x458]
mov dword [esp + 8], eax
call fcn.00401b30
add esp, 0xc
mov ecx, 0xb7675bc6
cmp eax, 0
jne 0x410787
mov ecx, 0x504788f2
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x414388
mov al, byte [esi + 0x1d4]
mov byte [esi + 0x210], al
mov byte [esi + 0x410], 0xf6
mov byte [esi + 0x411], 0x4f
mov eax, 2
mov byte [esi + eax + 0x410], 0
add eax, 1
cmp eax, 6
jne 0x4107b0
xor edi, edi
cmp edi, 6
jae 0x410822
movzx eax, byte [esi + edi + 0x410]
mov dword [esi + 0x448], eax
mov ecx, edi
add ecx, 0xa1f85ced
mov edx, ecx
and edx, eax
mov eax, edx
and eax, 0xfd
mov ebx, edx
and ebx, 2
xor ebx, 2
imul ebx, eax
mov eax, edx
and eax, 2
or edx, 2
imul edx, eax
add edx, ebx
add ecx, dword [esi + 0x448]
mov eax, ecx
xor eax, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, eax
add cl, 0x5f
mov byte [esi + edi + 0x410], cl
add edi, 1
jmp 0x4107c2
mov eax, dword [esi + 8]
lea ecx, [esi + 0x410]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b30
add esp, 0xc
mov ecx, 0xdb8fdede
cmp eax, 0
jne 0x410854
mov ecx, 0x504788f2
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x414388
mov eax, 0xae81933e
test byte [esi + 0x33], 1
jne 0x41091a
mov eax, 0x504788f2
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov al, byte [esi + 0x1d0]
mov byte [esi + 0x21c], al
mov byte [esi + 0x300], 0xae
mov byte [esi + 0x301], 0xa2
mov byte [esi + 0x302], 0x32
mov eax, 3
mov byte [esi + eax + 0x300], 0
add eax, 1
cmp eax, 5
jne 0x41094a
xor eax, eax
cmp eax, 5
jae 0x4109a4
movzx edi, byte [esi + eax + 0x300]
mov edx, 0x9bc19af3
sub edx, eax
or edx, edi
mov ecx, 0xf3
sub ecx, eax
mov ebx, 0xf3
sub ebx, eax
or ecx, ebx
and ecx, edi
xor edx, 0xffffffff
or ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x86
xor ecx, 0x3c
sub edx, ecx
mov byte [esi + eax + 0x300], dl
add eax, 1
jmp 0x41095c
mov eax, dword [esi + 8]
lea ecx, [esi + 0x300]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b30
add esp, 0xc
cmp eax, 0
setne al
xor al, 0xff
and al, 1
or al, 0
xor al, 0
and al, 1
mov byte [esi + 0x34], al
mov eax, dword [esi + 4]
mov dword [eax], 0xc062d904
jmp 0x414388
mov eax, 0x7457b793
test byte [esi + 0x34], 1
jne 0x4109f8
mov eax, 0x858ab4aa
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov al, byte [esi + 0x1cc]
mov byte [esi + 0x220], al
mov byte [esi + 0x90], 0xac
mov byte [esi + 0x91], 0x1b
mov eax, 2
mov byte [esi + eax + 0x90], 0
add eax, 1
cmp eax, 4
jne 0x410a2f
xor eax, eax
cmp eax, 4
jae 0x410a77
movzx edx, byte [esi + eax + 0x90]
mov ecx, eax
add ecx, 0xbb
mov edi, edx
xor edi, 0xffffffff
and ecx, edi
mov ebx, 0x44
sub ebx, eax
and ebx, edx
or ebx, ecx
add bl, 0x59
mov byte [esi + eax + 0x90], bl
add eax, 1
jmp 0x410a41
mov eax, dword [esi + 8]
lea ecx, [esi + 0x90]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x30c], eax
mov al, byte [esi + 0x1c8]
mov byte [esi + 0x224], al
mov byte [esi + 0x8c], 0x17
mov byte [esi + 0x8d], 0x6b
mov eax, 2
mov byte [esi + eax + 0x8c], 0
add eax, 1
cmp eax, 4
jne 0x410ab7
xor eax, eax
cmp eax, 4
jae 0x410afc
mov cl, byte [esi + eax + 0x8c]
mov dl, al
add dl, 0x67
xor dl, cl
add dl, 0xfd
mov byte [esi + eax + 0x8c], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
and edx, ecx
shl edx, 1
xor eax, ecx
or eax, edx
xor eax, 1
jmp 0x410ac9
mov eax, dword [esi + 8]
lea ecx, [esi + 0x8c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401980
add esp, 8
mov dword [esi + 0x35c], eax
mov al, byte [esi + 0x1c4]
mov byte [esi + 0x228], al
mov byte [esi + 0x88], 0x86
mov byte [esi + 0x89], 9
mov eax, 2
mov byte [esi + eax + 0x88], 0
add eax, 1
cmp eax, 4
jne 0x410b3c
xor edi, edi
cmp edi, 4
jae 0x410bb0
movzx edx, byte [esi + edi + 0x88]
mov ebx, edi
and ebx, 0xefa29682
mov eax, edi
and eax, 0xefa29682
add eax, 0x105d697e
add ebx, edi
sub ebx, eax
mov ecx, ebx
and ecx, edx
shl ecx, 1
mov eax, ecx
xor eax, ebx
xor ebx, 0xffffffff
and ecx, ebx
shl ecx, 1
xor ecx, 0xffffffff
add eax, ecx
add eax, edx
mov ecx, eax
add ecx, 1
mov edx, ecx
and edx, 0x75
and ecx, 0x75
xor ecx, 0xffffffff
add eax, 0x77
add eax, ecx
add eax, edx
add al, 1
mov byte [esi + edi + 0x88], al
add edi, 1
jmp 0x410b4e
mov eax, dword [esi + 8]
lea ecx, [esi + 0x88]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x360], eax
mov al, byte [esi + 0x1c0]
mov byte [esi + 0x22c], al
mov byte [esi + 0x84], 0x64
mov byte [esi + 0x85], 0x89
mov eax, 2
mov byte [esi + eax + 0x84], 0
add eax, 1
cmp eax, 4
jne 0x410bf0
xor eax, eax
cmp eax, 4
jae 0x410c39
mov dl, byte [esi + eax + 0x84]
mov edi, eax
add edi, 0x1e
mov ecx, 0xa1
sub ecx, eax
and ecx, 0xd2
and edi, 0x2d
or ecx, edi
xor cl, dl
xor cl, 0xd2
add cl, 0x2a
mov byte [esi + eax + 0x84], cl
add eax, 1
jmp 0x410c02
mov eax, dword [esi + 8]
sub esp, 8
lea ecx, [esi + 0x84]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401910
add esp, 8
fnstcw word [esi + 0x9c]
movzx eax, word [esi + 0x9c]
or eax, 0xc00
mov word [esi + 0x2d4], ax
fldcw word [esi + 0x2d4]
fistp dword [esi + 0x474]
fldcw word [esi + 0x9c]
mov eax, dword [esi + 0x474]
mov dword [esi + 0x364], eax
mov al, byte [esi + 0x1bc]
mov byte [esi + 0x230], al
mov byte [esi + 0x54], 0xe6
mov byte [esi + 0x55], 0xd2
mov byte [esi + 0x56], 0x42
mov eax, 3
mov byte [esi + eax + 0x54], 0
add eax, 1
cmp eax, 4
jne 0x410ca8
xor eax, eax
cmp eax, 4
jae 0x410d0d
movzx edx, byte [esi + eax + 0x54]
mov edi, eax
add edi, 0xf0
mov ecx, eax
add ecx, 0xb38037f0
or ecx, edx
and edi, edx
sub ecx, edi
mov edx, ecx
add edx, 0x7e7ee84f
mov edi, edx
shl edi, 1
and edi, 2
and ecx, 1
and edx, 0xfe
or edx, ecx
add edx, edi
mov byte [esi + eax + 0x54], dl
mov ecx, eax
add ecx, 1
mov edx, eax
xor edx, 0xffffffff
or edx, 1
add edx, ecx
or eax, 1
add eax, edx
jmp 0x410cb7
mov eax, dword [esi + 8]
sub esp, 8
lea ecx, [esi + 0x54]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401910
add esp, 8
fnstcw word [esi + 0x9a]
movzx eax, word [esi + 0x9a]
or eax, 0xc00
mov word [esi + 0x2d2], ax
fldcw word [esi + 0x2d2]
fistp dword [esi + 0x470]
fldcw word [esi + 0x9a]
mov eax, dword [esi + 0x470]
mov dword [esi + 0x368], eax
mov al, byte [esi + 0x1b8]
mov byte [esi + 0x234], al
mov byte [esi + 0x50], 0x6e
mov byte [esi + 0x51], 0x65
mov byte [esi + 0x52], 0xf2
mov eax, 3
mov byte [esi + eax + 0x50], 0
add eax, 1
cmp eax, 4
jne 0x410d79
xor eax, eax
cmp eax, 4
jae 0x410db5
movzx edx, byte [esi + eax + 0x50]
mov ecx, eax
add ecx, 0x2c
mov edi, edx
xor edi, 0xffffffff
and ecx, edi
mov edi, 0xd3
sub edi, eax
and edi, edx
or ecx, edi
add cl, 0x24
mov byte [esi + eax + 0x50], cl
add eax, 1
jmp 0x410d88
mov eax, dword [esi + 8]
lea ecx, [esi + 0x50]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004019e0
add esp, 8
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x16], al
sub esp, 4
mov eax, dword [esi + 0x30c]
mov dword [esp], eax
call fcn.00418cf0
add esp, 4
mov dword [esi + 0xdc], eax
mov ebx, dword [esi + 0xdc]
add ebx, 1
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x410e13
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083b0
add esp, 4
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esi + 0x30c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040ac20
add esp, 0x10
mov eax, dword [0x44cd54]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0xdc]
xor edi, edi
lea edi, [esi + 0x1b4]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edi
call eax
mov cl, byte [esi + 0x1a8]
mov byte [esi + 0x238], cl
mov byte [esi + 0x1ac], 0x43
mov byte [esi + 0x1ad], 0x61
mov byte [esi + 0x1ae], 0x62
mov byte [esi + 0x1af], 0xa3
mov ecx, 4
mov byte [esi + ecx + 0x1ac], 0
add ecx, 1
cmp ecx, 7
jne 0x410eb8
xor ecx, ecx
cmp ecx, 7
jae 0x410ef8
movzx edi, byte [esi + ecx + 0x1ac]
mov edx, ecx
add edx, 0x68
mov ebx, ecx
add ebx, 0x68
and ebx, edi
shl ebx, 1
add edx, edi
sub edx, ebx
add dl, 0xf8
mov byte [esi + ecx + 0x1ac], dl
add ecx, 1
jmp 0x410eca
mov edx, dword [esi + 0x1ac]
mov ecx, 0x2f6a227a
cmp eax, edx
jne 0x410f0c
mov ecx, 0x8b526b6d
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x414388
mov eax, dword [esi + 0x1b4]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x410f89
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083b0
add esp, 4
mov dword [esi + 0xa4], eax
mov eax, dword [0x44cd54]
mov dword [esi + 0x444], eax
mov ecx, dword [esi + 0x1b4]
mov edx, dword [esi + 0xa4]
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0xdc]
xor eax, eax
lea eax, [esi + 0x1b4]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call dword [esi + 0x444]
mov ecx, 0x52e21482
cmp eax, 0
jge 0x410ff8
mov ecx, 0x2951fd1c
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0xdb599e28
jmp 0x414388
mov eax, dword [esi + 0x360]
sub esp, 4
mov dword [esp], eax
call fcn.00418cf0
add esp, 4
mov dword [esi + 0x484], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xe3f206cc
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x57d0080
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x2a3e4a79
jmp 0x414388
mov eax, dword [esi + 0xe0]
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov dword [esi + 0x488], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x39dbcdb4
mov eax, dword [esi + 0x488]
mov dword [esi + 0x318], eax
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x9af35923
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x340670e0
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x7457b793
jmp 0x414388
mov al, byte [esi + 0x1a4]
mov byte [esi + 0x23c], al
mov byte [esi + 0x408], 0x65
mov byte [esi + 0x409], 0xcf
mov eax, 2
mov byte [esi + eax + 0x408], 0
add eax, 1
cmp eax, 5
jne 0x41141b
xor eax, eax
cmp eax, 5
jae 0x411479
movzx edx, byte [esi + eax + 0x408]
mov ecx, eax
add ecx, 0xcb64a8ad
mov edi, ecx
and edi, edx
shl edi, 1
sub ecx, edi
add ecx, edx
mov edx, ecx
shl edx, 1
and edx, 2
mov edi, 1
sub edi, ecx
and edi, 1
and ecx, 0xfe
add ecx, 0x9e
or ecx, edi
add ecx, edx
mov byte [esi + eax + 0x408], cl
add eax, 1
jmp 0x41142d
mov eax, dword [esi + 8]
lea ecx, [esi + 0x408]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b30
add esp, 0xc
mov ecx, 0x7e0bbb1c
cmp eax, 0
jne 0x4114ab
mov ecx, 0xfb5e5ea9
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x414388
mov al, byte [esi + 0x198]
mov byte [esi + 0x248], al
mov byte [esi + 0x400], 0x5a
mov byte [esi + 0x401], 0xc1
mov eax, 2
mov byte [esi + eax + 0x400], 0
add eax, 1
cmp eax, 8
jne 0x411619
xor eax, eax
cmp eax, 8
jae 0x411681
movzx edx, byte [esi + eax + 0x400]
mov ecx, eax
add ecx, 0x4bc3abd0
xor ecx, edx
mov edx, ecx
and edx, 0xed
mov edi, ecx
and edi, 2
xor edi, 2
mov ebx, ecx
and ebx, 0xed
imul edi, ebx
mov ebx, ecx
and ebx, 2
or edx, 2
imul edx, ebx
add edx, edi
xor ecx, 0xef
add ecx, 1
add ecx, edx
mov byte [esi + eax + 0x400], cl
add eax, 1
jmp 0x41162b
mov eax, dword [esi + 8]
lea ecx, [esi + 0x400]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b30
add esp, 0xc
mov ecx, 0x6acbec8f
cmp eax, 0
jne 0x4116b3
mov ecx, 0xfb5e5ea9
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x414388
mov eax, 0x88b34559
test byte [esi + 0x35], 1
jne 0x4117cf
mov eax, 0xfb5e5ea9
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x9343c14f
jmp 0x414388
mov al, byte [esi + 0x28]
mov byte [esi + 0x254], al
mov byte [esi + 0xc], 0xaa
mov byte [esi + 0xd], 0x9a
mov byte [esi + 0xe], 0xe
mov eax, 3
mov byte [esi + eax + 0xc], 0
add eax, 1
cmp eax, 4
jne 0x411801
xor eax, eax
cmp eax, 4
jae 0x41185b
movzx edx, byte [esi + eax + 0xc]
mov ecx, eax
add ecx, 0x20de88bd
mov ebx, ecx
shl ebx, 1
mov edi, eax
add edi, 0xbc
sub edi, ebx
and edi, edx
xor edx, 0xffffffff
and ecx, edx
or ecx, edi
mov edi, ecx
shl edi, 1
mov edx, 2
sub edx, edi
and edx, 2
xor edx, 2
xor ecx, 1
add ecx, 0x4e
add ecx, edx
mov byte [esi + eax + 0xc], cl
add eax, 1
jmp 0x411810
mov eax, dword [esi + 8]
sub esp, 0xc
lea ecx, [esi + 0xc]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00401b30
add esp, 0xc
sub eax, 1
mov al, 1
sbb al, 0xff
and al, 1
mov byte [esi + 0x36], al
mov eax, dword [esi + 4]
mov dword [eax], 0xd832e632
jmp 0x414388
mov al, byte [esi + 0x190]
mov byte [esi + 0x258], al
mov byte [esi + 0x3f0], 7
mov byte [esi + 0x3f1], 0xe1
mov eax, 2
mov byte [esi + eax + 0x3f0], 0
add eax, 1
cmp eax, 8
jne 0x4118dc
xor eax, eax
cmp eax, 8
jae 0x411910
mov cl, byte [esi + eax + 0x3f0]
mov dl, al
add dl, 0x28
xor dl, cl
add dl, 0x38
mov byte [esi + eax + 0x3f0], dl
add eax, 1
jmp 0x4118ee
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3f0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x310], eax
mov al, byte [esi + 0x18c]
mov byte [esi + 0x25c], al
mov byte [esi + 0x78], 0x80
mov byte [esi + 0x79], 0x11
mov eax, 2
mov byte [esi + eax + 0x78], 0
add eax, 1
cmp eax, 4
jne 0x41194a
xor eax, eax
cmp eax, 4
jae 0x4119cf
movzx edi, byte [esi + eax + 0x78]
mov edx, eax
add edx, 0x5e04ef84
mov ebx, 0x7b
sub ebx, eax
and ebx, 0xce
mov ecx, edx
and ecx, 0x31
or ebx, ecx
xor ebx, 0xce
and ebx, edi
or edx, edi
xor edx, ebx
mov ecx, edx
and ecx, 0x29e75269
mov edi, edx
and edi, 2
xor edi, 2
mov ebx, edx
and ebx, 0x29e75269
imul ebx, edi
mov edi, edx
and edi, 2
or ecx, 2
imul ecx, edi
add ecx, ebx
xor edx, 0x29e7526b
mov edi, edx
and edi, ecx
shl edi, 1
xor edx, ecx
add edx, edi
add dl, 1
mov byte [esi + eax + 0x78], dl
add eax, 1
jmp 0x411959
mov eax, dword [esi + 8]
lea ecx, [esi + 0x78]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x36c], eax
mov al, byte [esi + 0x188]
mov byte [esi + 0x260], al
mov byte [esi + 0x3e8], 0x3f
mov byte [esi + 0x3e9], 0x8b
mov eax, 2
mov byte [esi + eax + 0x3e8], 0
add eax, 1
cmp eax, 8
jne 0x411a0c
xor eax, eax
cmp eax, 8
jae 0x411a7f
movzx edx, byte [esi + eax + 0x3e8]
mov edi, edx
xor edi, 0xffffffff
shl edi, 1
add edi, edx
mov ecx, 0xfffffffe
sub ecx, edi
mov edi, 0x70c8119c
sub edi, eax
or ecx, edi
mov ebx, 0x9c
sub ebx, eax
mov edi, 0x9c
sub edi, eax
or ebx, edi
and ebx, edx
xor ebx, 0xffffffff
and ecx, ebx
mov edx, ecx
shl edx, 1
xor edx, 0xffffffff
add ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x20
xor ecx, 0x10
add ecx, edx
add cl, 1
mov byte [esi + eax + 0x3e8], cl
add eax, 1
jmp 0x411a1e
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3e8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401980
add esp, 8
mov dword [esi + 0x370], eax
mov al, byte [esi + 0x184]
mov byte [esi + 0x264], al
mov byte [esi + 0x3e0], 0xee
mov byte [esi + 0x3e1], 0x67
mov eax, 2
mov byte [esi + eax + 0x3e0], 0
add eax, 1
cmp eax, 5
jne 0x411abf
xor eax, eax
cmp eax, 5
jae 0x411b0a
mov cl, byte [esi + eax + 0x3e0]
mov ebx, eax
shl ebx, 1
and ebx, 0x4cbeccd2
mov edx, eax
xor edx, 0x265f6669
mov edi, edx
and edi, ebx
shl edi, 1
xor edx, ebx
add edx, edi
xor dl, cl
add dl, 0xf3
mov byte [esi + eax + 0x3e0], dl
add eax, 1
jmp 0x411ad1
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3e0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x374], eax
mov al, byte [esi + 0x180]
mov byte [esi + 0x268], al
mov byte [esi + 0x3d8], 0xa8
mov byte [esi + 0x3d9], 0xf
mov eax, 2
mov byte [esi + eax + 0x3d8], 0
add eax, 1
cmp eax, 5
jne 0x411b4a
xor eax, eax
cmp eax, 5
jae 0x411b87
mov cl, byte [esi + eax + 0x3d8]
mov dl, al
add dl, 0x3d
xor dl, cl
add dl, 0xcf
mov byte [esi + eax + 0x3d8], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x411b5c
call fcn.00419140
call fcn.00419140
mov eax, dword [esi + 8]
sub esp, 8
lea ecx, [esi + 0x3d8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401910
add esp, 8
fnstcw word [esi + 0x98]
movzx eax, word [esi + 0x98]
or eax, 0xc00
mov word [esi + 0x2d0], ax
fldcw word [esi + 0x2d0]
fistp dword [esi + 0x47c]
fldcw word [esi + 0x98]
mov eax, dword [esi + 0x47c]
mov dword [esi + 0x48c], eax
mov al, byte [esi + 0x17c]
mov byte [esi + 0x26c], al
mov byte [esi + 0x4c], 0xfa
mov byte [esi + 0x4d], 0xea
mov byte [esi + 0x4e], 0x66
mov eax, 3
mov byte [esi + eax + 0x4c], 0
add eax, 1
cmp eax, 4
jne 0x411c00
xor eax, eax
cmp eax, 4
jae 0x411c3e
movzx edx, byte [esi + eax + 0x4c]
mov ecx, eax
add ecx, 0xfd59d419
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, 0x82
add ecx, edx
mov byte [esi + eax + 0x4c], cl
add eax, 1
jmp 0x411c0f
mov eax, dword [esi + 8]
sub esp, 8
lea ecx, [esi + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401910
add esp, 8
fnstcw word [esi + 0x96]
movzx eax, word [esi + 0x96]
or eax, 0xc00
mov word [esi + 0x2ce], ax
fldcw word [esi + 0x2ce]
fistp dword [esi + 0x478]
fldcw word [esi + 0x96]
mov eax, dword [esi + 0x478]
mov dword [esi + 0x490], eax
sub esp, 4
mov eax, dword [esi + 0x310]
mov dword [esp], eax
call fcn.00418cf0
add esp, 4
mov ebx, eax
mov eax, ebx
and eax, 1
or ebx, 1
add ebx, eax
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x411cc5
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083b0
add esp, 4
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esi + 0x310]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040ac20
add esp, 0x10
mov eax, dword [esi + 0xe8]
lea ecx, [esi + 0x4d0]
sub esp, 4
mov dword [esp], eax
call fcn.00418d50
mov eax, dword [esi + 4]
mov dword [eax], 0xbc3d9956
jmp 0x414388
mov eax, dword [esi + 0xe8]
sub esp, 4
mov dword [esp], eax
call fcn.004083c0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x545c77d8
jmp 0x414388
mov dword [esi + 0xc8], 0
mov eax, dword [esi + 0x4d0]
mov dword [esi + 0x460], eax
mov al, byte [esi + 0x270]
mov byte [esi + 0x2cc], al
mov byte [esi + 0x274], 0x9b
mov byte [esi + 0x275], 0x9a
mov byte [esi + 0x276], 0x9d
mov byte [esi + 0x277], 0x9c
mov eax, 4
mov byte [esi + eax + 0x274], 0
add eax, 1
cmp eax, 7
jne 0x411dcb
xor eax, eax
cmp eax, 7
jae 0x411e1d
movzx edx, byte [esi + eax + 0x274]
mov ecx, eax
add ecx, 0xb75406da
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
add cl, 0xbe
mov byte [esi + eax + 0x274], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
shl edx, 1
and edx, 2
add edx, 0xffffffff
sub eax, edx
add eax, ecx
jmp 0x411ddd
mov eax, dword [esi + 0x274]
mov dword [esi + 0xcc], eax
xor edi, edi
mov ecx, 2
cmp edi, dword [0x44cd58]
jb 0x411e3d
jmp 0x411ecc
mov edx, dword [0x44cd5c]
cmp dword [edx + edi*8], 0xfc36c0a1
sete bl
xor ecx, ecx
mov byte [esi + 0x32], bl
test bl, 1
jne 0x411e59
jmp 0x411ebc
mov edx, dword [edx + edi*8 + 4]
mov ecx, 2
cmp edx, dword [esi + 0xcc]
je 0x411ebc
mov eax, dword [0x44cd60]
xor ecx, ecx
lea ecx, [esi + 0xc8]
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov eax, dword [esi + 0x460]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x2b
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
call fcn.0043dda0
add esp, 0x20
mov ecx, 1
test byte [esi + 0x32], 1
je 0x411ec4
jmp 0x411ecc
add edi, 1
jmp 0x411e2b
cmp ecx, 2
je 0x411ed7
mov dword [esi + 0xcc], eax
mov al, byte [esi + 0x170]
mov byte [esi + 0x27c], al
mov byte [esi + 0x174], 0xf8
mov byte [esi + 0x175], 0xe7
mov byte [esi + 0x176], 0xe6
mov byte [esi + 0x177], 0xa1
mov eax, 4
mov byte [esi + eax + 0x174], 0
add eax, 1
cmp eax, 7
jne 0x411f04
xor eax, eax
cmp eax, 7
jae 0x411f5e
movzx edx, byte [esi + eax + 0x174]
mov ebx, eax
shl ebx, 1
and ebx, 0x2e47c152
mov ecx, eax
xor ecx, 0x9723e0a9
add ecx, ebx
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 2
mov ebx, ecx
or ebx, 1
add ebx, 0xb2
and ecx, 1
sub ebx, ecx
add ebx, edx
mov byte [esi + eax + 0x174], bl
add eax, 1
jmp 0x411f16
mov ecx, dword [esi + 0x174]
mov eax, 0xf7fce3a2
cmp dword [esi + 0xcc], ecx
je 0x411f76
mov eax, 0xb2dceb7e
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x4cd12f20
jmp 0x414388
mov eax, 0xe7c652cc
test byte [esi + 0x37], 1
jne 0x4122bb
mov eax, 0x4a3a610c
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x301164bd
mov eax, dword [esi + 0xb0]
mov dword [esi + 0x320], eax
jmp 0x414388
mov eax, dword [esi + 0xb0]
add eax, 0xfffffffe
mov dword [esi + 0x49c], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x751fe13c
jmp 0x414388
mov eax, dword [esi + 0xb4]
sub esp, 4
mov dword [esp], eax
call fcn.004083c0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xf6caa421
jmp 0x414388
mov eax, dword [esi + 0xfc]
sub esp, 4
mov dword [esp], eax
call fcn.004083c0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x739d03c
jmp 0x414388
mov eax, dword [esi + 0xf4]
add eax, 0xa260dbea
add eax, 1
sub eax, 0xa260dbea
mov dword [esi + 0x4a8], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x2fe903b6
mov eax, dword [esi + 0x4a8]
mov dword [esi + 0x324], eax
jmp 0x414388
lea ecx, [esi + 0x5f0]
call fcn.00409a30
lea ecx, [esi + 0x5f0]
call fcn.004090f0
mov eax, dword [esi + 4]
mov dword [eax], 0x38954d61
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x296b71bc
jmp 0x414388
mov al, byte [esi + 0x16c]
mov byte [esi + 0x28c], al
mov byte [esi + 0x3d0], 0x14
mov byte [esi + 0x3d1], 0xbb
mov eax, 2
mov byte [esi + eax + 0x3d0], 0
add eax, 1
cmp eax, 6
jne 0x41288a
xor eax, eax
cmp eax, 6
jae 0x412926
movzx edx, byte [esi + eax + 0x3d0]
mov ecx, 0x62e943a0
sub ecx, eax
and ecx, 0xf112d251
mov edi, 0x62e943a0
sub edi, eax
or edi, 0xeed2dae
add edi, eax
mov ebx, 0x62e943a0
sub ebx, eax
and ecx, ebx
add edi, 0x9d16bc60
or ecx, edi
mov ebx, edx
xor ebx, 0xae
mov edi, edx
xor edi, 0xae
or ebx, edi
and ebx, ecx
xor edx, 0xae
or ecx, edx
xor ecx, 0xffffffff
or ebx, ecx
add bl, 0x25
mov byte [esi + eax + 0x3d0], bl
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 6
xor edx, 6
and eax, 6
xor eax, 0xfffffffe
or edx, eax
xor edx, 0xffffffff
add ecx, edx
mov eax, ecx
jmp 0x41289c
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3d0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x100], eax
mov al, byte [esi + 0x168]
mov byte [esi + 0x290], al
mov byte [esi + 0x3c8], 0xce
mov byte [esi + 0x3c9], 0x49
mov eax, 2
mov byte [esi + eax + 0x3c8], 0
add eax, 1
cmp eax, 6
jne 0x412966
mov eax, dword [esi + 4]
mov dword [eax], 0xc5a7a6b3
jmp 0x414388
xor eax, eax
jmp 0x412988
cmp eax, 6
jae 0x4129bc
movzx edi, byte [esi + eax + 0x3c8]
mov edx, eax
add edx, 0x8e
mov ecx, 0x71
sub ecx, eax
and ecx, edi
xor edi, 0xffffffff
and edx, edi
or ecx, edx
add cl, 0x3a
mov byte [esi + eax + 0x3c8], cl
add eax, 1
jmp 0x412988
mov eax, dword [esi + 8]
sub esp, 8
lea ecx, [esi + 0x3c8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004018b0
add esp, 8
mov dword [esi + 0x104], eax
mov eax, dword [esi + 0x100]
test eax, eax
sete cl
mov eax, dword [esi + 0x104]
test eax, eax
sete al
or cl, al
mov eax, 0x26603005
test cl, 1
jne 0x412a04
mov eax, 0x73e4622c
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x647bac5a
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0xf004359b
mov eax, dword [esi + 0x388]
mov dword [esi + 0x32c], eax
jmp 0x414388
mov eax, dword [esi + 0x40]
add eax, 0xfffffffc
mov dword [esi + 0x398], eax
mov eax, dword [esi + 0x398]
mov eax, dword [eax]
imul eax, eax, 0xc
add eax, dword [esi + 0x40]
mov dword [esi + 0x39c], eax
mov ecx, dword [esi + 0x39c]
mov eax, 0x2cf5b09e
cmp dword [esi + 0x40], ecx
je 0x413439
mov eax, 0x79f23603
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x39c]
mov dword [esi + 0x340], eax
jmp 0x414388
mov eax, dword [esi + 0x10c]
sub esp, 4
mov dword [esp], eax
call fcn.004083c0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xe680a091
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x5add983f
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0xc94944b6
jmp 0x414388
mov eax, 0x59ef972a
cmp dword [esi + 0x114], 0
je 0x413553
mov eax, 0x1f0b4f5c
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov eax, dword [esi + 0x118]
sub esp, 4
mov dword [esp], eax
call fcn.004083c0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x3f57cd4e
jmp 0x414388
mov al, byte [esi + 0x144]
mov byte [esi + 0x2b4], al
mov byte [esi + 0x3b8], 0xec
mov byte [esi + 0x3b9], 0x9b
mov eax, 2
mov byte [esi + eax + 0x3b8], 0
add eax, 1
cmp eax, 6
jne 0x413612
xor eax, eax
cmp eax, 6
jae 0x413697
movzx edx, byte [esi + eax + 0x3b8]
mov edi, eax
and edi, 0x8cbeec19
mov ebx, eax
and ebx, 2
xor ebx, 2
mov ecx, eax
and ecx, 0x8cbeec19
imul ecx, ebx
mov ebx, eax
and ebx, 2
or edi, 2
imul edi, ebx
add edi, ecx
mov ecx, eax
xor ecx, 0x8cbeec1b
add ecx, edi
mov edi, ecx
and edi, edx
shl edi, 1
sub ecx, edi
add ecx, edx
mov edx, ecx
shl edx, 1
and edx, 2
mov edi, 1
sub edi, ecx
and edi, 1
and ecx, 0xfe
add ecx, 0x78
or ecx, edi
add ecx, edx
mov byte [esi + eax + 0x3b8], cl
add eax, 1
jmp 0x413624
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3b8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x124], eax
mov al, byte [esi + 0x140]
mov byte [esi + 0x2b8], al
mov byte [esi + 0x3b0], 0x4a
mov byte [esi + 0x3b1], 0xcb
mov eax, 2
mov byte [esi + eax + 0x3b0], 0
add eax, 1
cmp eax, 5
jne 0x4136d7
xor eax, eax
cmp eax, 5
jae 0x413735
movzx edi, byte [esi + eax + 0x3b0]
mov edx, 0x12cfbc4c
sub edx, eax
or edx, edi
mov ecx, 0x4c
sub ecx, eax
mov ebx, 0x4c
sub ebx, eax
or ecx, ebx
and ecx, edi
xor edx, 0xffffffff
or ecx, edx
mov edx, ecx
and edx, 1
and ecx, 0xfe
xor ecx, 0x81
add ecx, edx
mov byte [esi + eax + 0x3b0], cl
add eax, 1
jmp 0x4136e9
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3b0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x128], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xfc120051
jmp 0x414388
mov eax, dword [esi + 0x130]
sub esp, 4
mov dword [esp], eax
call fcn.00401b90
add esp, 4
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x44]
mov ecx, 8
mul ecx
seto dl
add eax, 4
setb cl
or dl, cl
mov ecx, 0xffffffff
test dl, 1
jne 0x4139bb
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083b0
add esp, 4
mov ecx, dword [esi + 0x44]
mov dword [eax], ecx
add eax, 4
mov dword [esi + 0xc0], eax
mov eax, 0xc78b6040
cmp dword [esi + 0x44], 0
je 0x4139e7
mov eax, 0x30cafa21
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov edi, dword [esi + 0x344]
mov ecx, edi
call fcn.00419000
add edi, 8
mov dword [esi + 0x3a0], edi
mov ecx, dword [esi + 0x3a0]
mov eax, 0xc78b6040
cmp ecx, dword [esi + 0x4b4]
je 0x413a4d
mov eax, 0x8c4a1157
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x3a0]
mov dword [esi + 0x344], eax
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x89645165
mov dword [esi + 0x348], 0
jmp 0x414388
mov eax, dword [esi + 0x348]
mov dword [esi + 0xc4], eax
mov ecx, dword [esi + 0xc4]
mov eax, 0xdb52310f
cmp ecx, dword [esi + 0x44]
jb 0x413a9c
mov eax, 0x9b6cca4
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov eax, dword [esi + 0x34c]
mov edi, dword [esi + 0x350]
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0xa0]
sub esp, 4
mov dword [esp], 3
call fcn.00409010
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x12c]
mov edx, dword [esi + 0xbc]
mov ebx, dword [esi + 0xa0]
sub esp, 0x14
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.00421790
add esp, 0x14
mov ecx, dword [esi + 0xa0]
call fcn.00409a30
mov eax, 0x4d2feb94
cmp dword [esi + 0x48], 0
je 0x413ca0
mov eax, 0x9cc71af3
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x414388
mov eax, dword [esi + 0x48]
add eax, 0xfffffffc
mov dword [esi + 0x3a4], eax
mov eax, dword [esi + 0x3a4]
mov eax, dword [eax]
shl eax, 3
add eax, dword [esi + 0x48]
mov dword [esi + 0x3a8], eax
mov eax, dword [esi + 0x3a8]
cmp dword [esi + 0x48], eax
sete al
and al, 1
mov byte [esi + 0x3b], al
mov eax, dword [esi + 4]
mov dword [eax], 0xe954c639
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0xf5588bbe
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x8ca61eb1
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0xb05929b9
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0xa53b1ee5
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x458e179
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x7457b793
jmp 0x414388
mov eax, dword [esi + 4]
mov dword [eax], 0x5853f83a
mov eax, dword [esi + 0x4bc]
mov dword [esi + 0x314], eax
jmp 0x414388
mov al, byte [esi + 0x15]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ret
mov esp, 0x59f49666
fmul qword [ebp + 0x25]
jno 0x41434f
pushfd
adc ebx, esi
jmp 0x46cc6b7d
aam 0x7a
insd dword es:[edi], dx
call 0x5e1d076f
mov eax, dword [esi + 0xbc]
sub esp, 4
mov dword [esp], eax
call fcn.004083c0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xf5588bbe
jmp 0x414388
inc bp
inc esi
cli
fucompi st(2)
sbb al, 0xee
enter 0xffffffffffffb98a, 0xffffffffffffffdf
mov eax, dword [esi + 4]
mov dword [eax], 0xb05929b9
jmp 0x40f4e4