Function at 0x411ab0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov esi, esp
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [esi + 0x30], 0xfa476a25
jmp 0x411ae0
mov dword [esi + 0x30], eax
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
cmp eax, 0x7dea658a
jg 0x411b10
cmp eax, 0x7459cda7
jg 0x411b30
cmp eax, 0x83a89e8c
jg 0x411b50
cmp eax, 0x801764d0
jne 0x411ae0
mov dword [esi + 0x30], 0xb4e8518
jmp 0x411ae0
cmp eax, 0x7dea658b
jne 0x411ae0
mov al, byte [esi + 0x82]
test al, al
mov eax, 0xfd12645f
jne 0x411ad6
mov eax, 0xc8557661
jmp 0x411ad6
cmp eax, 0x7459cda8
jne 0x411ae0
mov al, byte [esi + 0x83]
test al, al
mov eax, 0x4a81eab1
jne 0x411b4b
mov eax, 0x6398f9b7
mov dword [esi + 0x30], eax
jmp 0x411ae0
cmp eax, 0x85e6c741
jg 0x411b6a
cmp eax, 0x83a89e8d
jne 0x411ae0
mov dword [esi + 0x30], 0x49224ee2
jmp 0x411ae0
cmp eax, 0x8a685d8b
jg 0x411b81
cmp eax, 0x85e6c742
jne 0x411ae0
jmp 0x4129ae
cmp eax, 0x8f28774f
jg 0x411ba2
cmp eax, 0x8a685d8c
jne 0x411ae0
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x30], 0x1c631106
jmp 0x411ae0
cmp eax, 0x949d1c91
jg 0x411bcf
cmp eax, 0x8f287750
jne 0x411ae0
mov ecx, dword [esi + 0x4c]
mov eax, 0x68f752f1
cmp dword [ecx + 0x10], 0
jne 0x411bc7
mov eax, 0x85e6c742
mov dword [esi + 0x30], eax
jmp 0x411ae0
cmp eax, 0xa7c24aed
jg 0x411bfa
cmp eax, 0x949d1c92
jne 0x411ae0
mov al, byte [esi + 0x7f]
test al, al
mov eax, 0x801764d0
jne 0x411bf2
mov eax, 0x6be556ad
mov dword [esi + 0x30], eax
jmp 0x411ae0
cmp eax, 0xadf0b2c5
jg 0x411c37
cmp eax, 0xa7c24aee
jne 0x411ae0
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x14]
sub esp, 4
mov dword [esp], eax
mov edi, ebx
mov ebx, edx
call fcn.00416067
mov edx, ebx
mov ebx, edi
mov edi, dword [ebp + 8]
add esp, 4
mov dword [esi + 0x30], 0xf6201d4a
jmp 0x411ae0
cmp eax, 0xb2c6dab5
jg 0x411c5f
cmp eax, 0xadf0b2c6
jne 0x411ae0
mov eax, dword [esi + 0x4c]
mov dword [eax + 0x14], 0
mov dword [esi + 0x30], 0xb4e8518
jmp 0x411ae0
cmp eax, 0xc2855edd
jg 0x411c80
cmp eax, 0xb2c6dab6
jne 0x411ae0
mov eax, dword [esi + 0x60]
mov dword [esi + 0x30], 0x668f8f40
jmp 0x411ae0
cmp eax, 0x6fcf1898
jg 0x411cee
cmp eax, 0x6da3c799
jg 0x411d08
cmp eax, 0x6be556ac
jg 0x411d29
cmp eax, 0x68f752f0
jg 0x411d40
cmp eax, 0xc361088e
jg 0x411d6e
cmp eax, 0xc2855ede
jne 0x411ae0
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.00417480
mov edx, dword [ebp + 0x10]
add esp, 4
mov ecx, dword [esi + 0x4c]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x4c]
cmp dword [eax + 0x14], 0
setne byte [esi + 0x7f]
mov dword [esi + 0x30], 0x949d1c92
jmp 0x411ae0
cmp eax, 0x6fcf1899
jne 0x411ae0
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x30], 0x49224ee2
jmp 0x411ae0
cmp eax, 0x6da3c79a
jne 0x411ae0
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov dword [esi + 0x30], 0x2b3702d7
jmp 0x411ae0
cmp eax, 0x6be556ad
jne 0x411ae0
mov dword [esi + 0x30], 0x16b7d164
jmp 0x411ae0
cmp eax, 0x68f752f1
jne 0x411ae0
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x10]
sub esp, 4
mov dword [esp], eax
call fcn.00416067
mov edx, dword [ebp + 0x10]
add esp, 4
mov dword [esi + 0x30], 0x85e6c742
jmp 0x411ae0
cmp eax, 0xc8557660
jg 0x411d8c
cmp eax, 0xc361088f
jne 0x411ae0
mov dword [esi + 0x30], 0xe57d9bf9
jmp 0x411ae0
cmp eax, 0xcf881ae7
jg 0x411db2
cmp eax, 0xc8557661
jne 0x411ae0
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
mov dword [esi + 0x30], 0x606b60a
jmp 0x411ae0
cmp eax, 0xdcf8c9df
jg 0x411dd0
cmp eax, 0xcf881ae8
jne 0x411ae0
mov dword [esi + 0x30], 0xc2855ede
jmp 0x411ae0
cmp eax, 0xe57d9bf8
jg 0x411e0e
cmp eax, 0xdcf8c9e0
jne 0x411ae0
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.00417480
mov edx, dword [ebp + 0x10]
add esp, 4
mov ecx, dword [esi + 0x4c]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x30], 0xc2855ede
jmp 0x411ae0
cmp eax, 0xec412c06
jg 0x411e2c
cmp eax, 0xe57d9bf9
jne 0x411ae0
mov dword [esi + 0x30], 0x668f8f40
jmp 0x411ae0
cmp eax, 0xed5f4a72
jg 0x411e5e
cmp eax, 0xec412c07
jne 0x411ae0
mov ecx, edi
mov al, byte [esi + 0x81]
test al, al
mov eax, 0x5f1ab71f
jne 0x411e54
mov eax, 0x136a42a2
mov dword [esi + 0x30], eax
mov edi, ecx
jmp 0x411ae0
cmp eax, 0xf3343e15
jg 0x411e7c
cmp eax, 0xed5f4a73
jne 0x411ae0
mov dword [esi + 0x30], 0x16b7d164
jmp 0x411ae0
cmp eax, 0xf6201d49
jg 0x411ea5
cmp eax, 0xf3343e16
jne 0x411ae0
mov ecx, edi
mov eax, dword [sym.imp.ADVAPI32.dll_CryptExportKey]
mov edi, dword [eax]
mov edi, ecx
mov dword [esi + 0x30], 0x16b7d164
jmp 0x411ae0
cmp eax, 0xf6f4f30d
jg 0x411ee0
cmp eax, 0xf6201d4a
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.00416067
mov edx, dword [ebp + 0x10]
add esp, 4
mov dword [esi + 0x30], 0xf70ac183
jmp 0x411ae0
cmp eax, 0x668f8f3f
jg 0x41200a
cmp eax, 0x65e5503e
jg 0x412034
cmp eax, 0x6398f9b6
jg 0x4121f5
cmp eax, 0x5f1ab71e
jg 0x41221b
cmp eax, 0x4da0cddb
jg 0x41224d
cmp eax, 0x4a81eab0
jg 0x412284
cmp eax, 0x49224ee1
jg 0x4122a1
cmp eax, 0x3eca34c4
jg 0x4122cb
cmp eax, 0x35285668
jg 0x412300
cmp eax, 0x3067cc95
jg 0x41231d
cmp eax, 0x2daee088
jg 0x4123ac
cmp eax, 0x2b3702d6
jg 0x412588
cmp eax, 0x24af031e
jg 0x4125a5
cmp eax, 0x241b600e
jg 0x412630
cmp eax, 0x1c631105
jg 0x412657
cmp eax, 0x16b7d163
jg 0x412681
cmp eax, 0x136a42a1
jg 0x4126b0
cmp eax, 0x1265ace6
jg 0x41279d
cmp eax, 0xff87858
jg 0x4127cd
cmp eax, 0xb4e8517
jg 0x4127fa
cmp eax, 0x92461d2
jg 0x412843
cmp eax, 0x606b609
jg 0x4128cf
cmp eax, 0xfd12645e
jg 0x4128fb
cmp eax, 0xfa476a24
jg 0x412922
cmp eax, 0xf6f4f30e
je 0x41293f
cmp eax, 0xf70ac183
jne 0x412991
mov dword [esi + 0x30], 0x8f287750
jmp 0x412986
cmp eax, 0x668f8f40
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x60]
cmp dword [eax], 0
setne byte [esi + 0x83]
mov dword [esi + 0x30], 0x7459cda8
jmp 0x411ae0
cmp eax, 0x65e5503f
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x28], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x24], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x20], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x2c], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x1c], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x18], esp
mov eax, 0x8c
call fcn.004160a0
mov eax, esp
and eax, 0xfffffff8
mov dword [esi], eax
mov esp, eax
mov ecx, eax
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x14], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x10], esp
mov eax, 4
call fcn.004160a0
mov eax, 4
call fcn.004160a0
mov dword [esi + 0xc], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 8], esp
mov eax, 4
call fcn.004160a0
mov eax, 4
call fcn.004160a0
mov eax, 4
call fcn.004160a0
mov edx, esp
mov eax, 4
call fcn.004160a0
mov eax, 0x400
call fcn.004160a0
mov eax, 0x400
call fcn.004160a0
mov eax, 8
call fcn.004160a0
mov dword [esi + 4], esp
mov eax, dword [ebp + 0x14]
mov edi, dword [esi + 0x28]
mov dword [edi], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [esi + 0x24]
mov dword [edi], eax
mov eax, dword [esi + 0x20]
mov dword [eax], ebx
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, dword [esi + 0x14]
mov dword [eax], 0xd
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov eax, dword [esi + 8]
mov dword [eax], 0x400
mov dword [edx], 0xffffffff
mov eax, dword [ebp + 8]
mov edi, dword [esi + 0x2c]
mov dword [edi], eax
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 8], 0x8c
mov dword [esp + 4], 0
call fcn.004035c0
add esp, 0xc
mov eax, dword [edi]
sub esp, 0xc
mov dword [esp + 4], eax
mov edi, dword [esi + 4]
mov dword [esp], edi
mov dword [esp + 8], 5
call fcn.00402740
add esp, 0xc
sub esp, 0xc
mov dword [esp + 4], edi
mov eax, dword [esi]
mov dword [esp], eax
mov edi, dword [ebp + 8]
mov dword [esp + 8], 5
call fcn.004129c0
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov dword [esi + 0x30], 0x2daee089
jmp 0x411ae0
cmp eax, 0x6398f9b7
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x6c]
mov dword [eax], 0
mov dword [esi + 0x30], 0x16b7d164
jmp 0x411ae0
cmp eax, 0x5f1ab71f
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x58]
mov dword [eax], 0x400
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
mov edx, dword [esi + 0x3c]
mov eax, 0x241b600f
cmp ecx, dword [edx]
ja 0x412276
mov eax, 0x3067cc96
jmp 0x412276
cmp eax, 0x4da0cddc
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
call fcn.0040cdc0
mov ecx, dword [esi + 0x4c]
mov eax, 0xcf881ae8
cmp dword [ecx + 0xc], 0
jne 0x412276
mov eax, 0xadf0b2c6
mov dword [esi + 0x30], eax
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
jmp 0x411ae0
cmp eax, 0x4a81eab1
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov dword [esi + 0x30], 0x1c631106
jmp 0x411ae0
cmp eax, 0x49224ee2
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x3c]
cmp dword [eax], 0
setne byte [esi + 0x81]
mov dword [esi + 0x30], 0xec412c07
jmp 0x411ae0
cmp eax, 0x3eca34c5
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x58]
mov dword [eax], 0x400
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
mov edx, dword [esi + 0x34]
mov eax, 0x6da3c79a
cmp ecx, dword [edx]
ja 0x412276
mov eax, 0x2b3702d7
jmp 0x412276
cmp eax, 0x35285669
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov dword [esi + 0x30], 0xf6201d4a
jmp 0x411ae0
cmp eax, 0x3067cc96
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
add edx, dword [ecx]
mov ecx, dword [esi + 0x74]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00402740
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov eax, dword [esi + 0x58]
xor ecx, ecx
sub ecx, dword [eax]
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
sub eax, ecx
mov ecx, dword [esi + 0x50]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx]
mov eax, 0x9c4a81b8
add ecx, eax
mov eax, dword [esi + 0x2c]
sub ecx, dword [eax]
add ecx, 0x63b57e48
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x5c]
mov dword [ecx], eax
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x44]
mov dword [ecx], eax
mov dword [esi + 0x30], 0x136a42a2
jmp 0x411ae0
cmp eax, 0x2daee089
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x34], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x38], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x3c], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x40], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x44], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x48], esp
mov eax, 0x8c
call fcn.004160a0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x4c], eax
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x50], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x54], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x58], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x5c], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x60], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x64], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x68], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x6c], esp
mov eax, 4
call fcn.004160a0
mov dword [esi + 0x70], esp
mov eax, 0x400
call fcn.004160a0
mov dword [esi + 0x74], esp
mov eax, 0x400
call fcn.004160a0
mov dword [esi + 0x78], esp
mov eax, 8
call fcn.004160a0
mov edi, esp
mov eax, dword [esi + 0x34]
mov ecx, dword [ebp + 0x14]
mov dword [eax], ecx
mov eax, dword [esi + 0x38]
mov dword [eax], edx
mov eax, dword [esi + 0x3c]
mov dword [eax], ebx
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [esi + 0x44]
mov dword [eax], 0
mov eax, dword [esi + 0x48]
mov dword [eax], 0
mov eax, dword [esi + 0x50]
mov dword [eax], 0xd
mov eax, dword [esi + 0x54]
mov dword [eax], 0
mov eax, dword [esi + 0x5c]
mov dword [eax], 0
mov eax, dword [esi + 0x60]
mov dword [eax], 0x400
mov eax, dword [esi + 0x6c]
mov dword [eax], 0xffffffff
mov eax, dword [esi + 0x4c]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x8c
mov dword [esp + 4], 0
call fcn.004035c0
add esp, 0xc
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 5
call fcn.00402740
add esp, 0xc
mov eax, dword [esi + 0x4c]
sub esp, 0xc
mov dword [esp + 4], edi
mov edi, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 8], 5
call fcn.004129c0
mov edx, dword [ebp + 0x10]
add esp, 0xc
test eax, eax
setne byte [esi + 0x7e]
mov dword [esi + 0x30], 0xff87859
jmp 0x411ae0
cmp eax, 0x2b3702d7
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov dword [esi + 0x30], 0x92461d3
jmp 0x411ae0
cmp eax, 0x24af031f
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
mov eax, dword [esi + 0x78]
mov dword [esi + 0x2c], eax
mov edx, dword [esi + 0x38]
mov eax, edi
mov edi, dword [esi + 0x54]
mov edi, dword [edi]
add edi, dword [edx]
sub esp, 0xc
mov dword [esp + 8], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov edi, eax
call fcn.00402740
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x54]
add eax, dword [ecx]
mov ecx, dword [esi + 0x54]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx]
add ecx, 0x294410ce
sub ecx, dword [eax]
add ecx, 0xd6bbef32
mov eax, dword [esi + 0x34]
mov dword [eax], ecx
mov eax, dword [esi + 0x60]
mov dword [eax], 0x400
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x30], 0x92461d3
jmp 0x411ae0
cmp eax, 0x241b600f
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov dword [esi + 0x30], 0x3067cc96
jmp 0x411ae0
cmp eax, 0x1c631106
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x5c]
cmp dword [eax], 0
sete byte [esi + 0x80]
mov dword [esi + 0x30], 0x1265ace7
jmp 0x411ae0
cmp eax, 0x16b7d164
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov ecx, dword [esi + 0x4c]
mov eax, 0x35285669
cmp dword [ecx + 0x14], 0
jne 0x4126a5
mov eax, 0x8f287750
mov dword [esi + 0x30], eax
mov edi, dword [ebp + 8]
jmp 0x411ae0
cmp eax, 0x136a42a2
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x5c]
cmp dword [eax], 0
sete al
movzx eax, al
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 0x60]
mov eax, dword [ecx]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0x48]
mov eax, dword [edx]
mov dword [esi + 0x24], eax
mov edi, dword [esi + 0x5c]
mov eax, dword [edi]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x44]
mov ebx, dword [eax]
mov edi, dword [esi + 0x4c]
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0x68]
sub esp, 0x20
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esi + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00412f50
add esp, 0x20
mov ecx, dword [esi + 0x70]
mov dword [ecx], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x5c]
mov ecx, dword [ecx]
mov edx, 0x7857ee34
add ecx, edx
sub ecx, dword [eax]
add ecx, 0x87a811cc
mov eax, dword [esi + 0x5c]
mov dword [eax], ecx
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov ecx, dword [esi + 0x44]
add eax, dword [ecx]
mov ecx, dword [esi + 0x44]
mov dword [ecx], eax
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x60]
mov ecx, dword [ecx]
sub ecx, dword [eax]
mov eax, dword [esi + 0x60]
mov dword [eax], ecx
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov ecx, dword [esi + 0x48]
add eax, dword [ecx]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
mov ecx, dword [esi + 0x60]
mov eax, 0x3eca34c5
cmp dword [ecx], 0
je 0x41278c
mov eax, 0x606b60a
mov dword [esi + 0x30], eax
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
jmp 0x411ae0
cmp eax, 0x1265ace7
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov ecx, edi
mov al, byte [esi + 0x80]
test al, al
mov eax, 0x83a89e8d
jne 0x411e54
mov eax, 0x136a42a2
jmp 0x411e54
cmp eax, 0xff87859
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov ecx, edi
mov al, byte [esi + 0x7e]
test al, al
mov eax, 0xf3343e16
jne 0x411e54
mov eax, 0xf6f4f30e
jmp 0x411e54
cmp eax, 0xb4e8518
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
add eax, 0xfffffff3
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov dword [eax + 0x84], 0xfffffffe
mov eax, dword [esi + 0x4c]
mov dword [eax + 0x58], 0
mov dword [esi + 0x30], 0x4a81eab1
jmp 0x411ae0
cmp eax, 0x92461d3
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
mov eax, dword [esi + 0x78]
mov dword [esi + 0x2c], eax
mov edx, dword [esi + 0x38]
mov eax, edi
mov edi, dword [esi + 0x54]
mov edi, dword [edi]
add edi, dword [edx]
sub esp, 0xc
mov dword [esp + 8], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov edi, eax
call fcn.00402740
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x54]
add eax, dword [ecx]
mov ecx, dword [esi + 0x54]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx]
sub ecx, dword [eax]
mov eax, dword [esi + 0x34]
mov dword [eax], ecx
mov eax, dword [esi + 0x60]
mov dword [eax], 0x400
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
cmp dword [ecx], eax
setb al
mov byte [esi + 0x82], al
mov dword [esi + 0x30], 0x7dea658b
jmp 0x411ae0
cmp eax, 0x606b60a
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov ecx, dword [esi + 0x70]
mov eax, 0xf790cc7b
cmp dword [ecx], 0
jne 0x4126a5
mov eax, 0xc361088f
jmp 0x4126a5
cmp eax, 0xfd12645f
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x60]
mov dword [ecx], eax
mov dword [esi + 0x30], 0xc8557661
jmp 0x411ae0
cmp eax, 0xfa476a25
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov dword [esi + 0x30], 0x2daee089
jmp 0x411ae0
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax]
mov eax, dword [esi + 0x4c]
add ecx, dword [eax + 4]
mov eax, 0x300
shl eax, cl
neg eax
mov ecx, 0x736
sub ecx, eax
add ecx, ecx
sub esp, 4
mov dword [esp], ecx
call fcn.00417480
add esp, 4
mov ecx, dword [esi + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x4c]
mov eax, 0x4da0cddc
cmp dword [ecx + 0x10], 0
jne 0x412983
mov eax, 0xed5f4a73
mov dword [esi + 0x30], eax
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jmp 0x411ae0
cmp eax, 0xf790cc7b
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
jne 0x411ae0
mov dword [esi + 0x30], 0x16b7d164
jmp 0x411ae0
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret