Function at 0x412d20
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 edi, dword [ebp + 0x14]
mov ebx, 0xd5d53de6
mov dword [esi + 0x30], 0xa26ae0f2
jmp 0x412d60
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x60]
mov dword [ecx], eax
mov dword [esi + 0x30], 0xe993006
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
cmp eax, 0x7a26f921
jg 0x412d90
cmp eax, 0x69ff78d0
jg 0x412da0
cmp eax, 0x81f5a583
jg 0x412dc0
cmp eax, 0x810d1bd1
jne 0x412d60
mov dword [esi + 0x30], 0x2749494c
jmp 0x412d60
cmp eax, 0x7a26f922
jne 0x412d60
jmp 0x412d45
cmp eax, 0x69ff78d1
jne 0x412d60
mov al, byte [esi + 0x81]
test al, al
mov eax, 0xb88101df
jne 0x412dbb
mov eax, 0xc80cf345
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0x82bbcc29
jg 0x412dd7
cmp eax, 0x81f5a584
jne 0x412d60
mov dword [esi + 0x30], 0x5e34fdf
jmp 0x412d60
cmp eax, 0x8398003f
jg 0x412df8
cmp eax, 0x82bbcc2a
jne 0x412d60
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x30], 0xecf37ff
jmp 0x412d60
cmp eax, 0x85c3d686
jg 0x412e31
cmp eax, 0x83980040
jne 0x412d60
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, 0x457da086
cmp ecx, dword [edx]
ja 0x412e29
mov eax, 0x5e34fdf
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0x95e348c8
jg 0x412e4f
cmp eax, 0x85c3d687
jne 0x412d60
mov dword [esi + 0x30], 0xc27504ee
jmp 0x412d60
cmp eax, 0x9a223b41
jg 0x412e66
cmp eax, 0x95e348c9
jne 0x412d60
jmp 0x413c8f
cmp eax, 0x9ab5610d
jg 0x412e84
cmp eax, 0x9a223b42
jne 0x412d60
mov dword [esi + 0x30], 0xc6306f9e
jmp 0x412d60
cmp eax, 0xa1437121
jg 0x412ea2
cmp eax, 0x9ab5610e
jne 0x412d60
mov dword [esi + 0x30], 0x53e47342
jmp 0x412d60
cmp eax, 0xa2398db7
jg 0x412ec9
cmp eax, 0xa1437122
jne 0x412d60
mov eax, dword [esi + 0x6c]
mov dword [eax], 0
mov dword [esi + 0x30], 0xc27504ee
jmp 0x412d60
cmp eax, 0x640e8b47
jg 0x412f60
cmp eax, 0x63b604ac
jg 0x412f77
cmp eax, 0x5d98efbd
jg 0x412f98
cmp eax, 0x5b768cdc
jg 0x412fbd
cmp eax, 0x53e47341
jg 0x412fd4
cmp eax, 0x52debdb4
jg 0x413013
cmp eax, 0x524695e9
jg 0x41302a
cmp eax, 0x51ab2293
jg 0x413055
cmp eax, 0xa26ae0f1
jg 0x41306c
cmp eax, 0xa2398db8
jne 0x412d60
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004186a2
add esp, 4
mov ecx, dword [esi + 0x4c]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x30], 0x53e47342
jmp 0x412d60
cmp eax, 0x640e8b48
jne 0x412d60
mov dword [esi + 0x30], 0x38402fb3
jmp 0x412d60
cmp eax, 0x63b604ad
jne 0x412d60
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov dword [esi + 0x30], 0x35c6f8eb
jmp 0x412d60
cmp eax, 0x5d98efbe
jne 0x412d60
mov eax, dword [esi + 0x4c]
cmp dword [eax + 0x14], 0
setne byte [esi + 0x82]
mov dword [esi + 0x30], 0x1df5124f
jmp 0x412d60
cmp eax, 0x5b768cdd
jne 0x412d60
mov dword [esi + 0x30], 0xa4b7f9f3
jmp 0x412d60
cmp eax, 0x53e47342
jne 0x412d60
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004186a2
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 + 0x80]
mov dword [esi + 0x30], 0xadcf5ce9
jmp 0x412d60
cmp eax, 0x52debdb5
jne 0x412d60
mov dword [esi + 0x30], 0xcd59b41a
jmp 0x412d60
cmp eax, 0x524695ea
jne 0x412d60
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x10]
sub esp, 4
mov dword [esp], eax
call fcn.00417287
add esp, 4
mov dword [esi + 0x30], 0x95e348c9
jmp 0x412d60
cmp eax, 0x51ab2294
jne 0x412d60
mov dword [esi + 0x30], 0xe993006
jmp 0x412d60
cmp eax, 0xa4b7f9f2
jg 0x41308a
cmp eax, 0xa26ae0f2
jne 0x412d60
mov dword [esi + 0x30], 0x2f4b385e
jmp 0x412d60
cmp eax, 0xa8c4fdb2
jg 0x4130a8
cmp eax, 0xa4b7f9f3
jne 0x412d60
mov dword [esi + 0x30], 0xc27504ee
jmp 0x412d60
cmp eax, 0xa94b2b53
jg 0x4130da
cmp eax, 0xa8c4fdb3
jne 0x412d60
call fcn.0040e530
mov ecx, dword [esi + 0x4c]
mov eax, 0x9ab5610e
cmp dword [ecx + 0xc], 0
jne 0x4130d2
mov eax, 0x4e9a7afa
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0xaaa02235
jg 0x4130f8
cmp eax, 0xa94b2b54
jne 0x412d60
mov dword [esi + 0x30], 0x121788dd
jmp 0x412d60
cmp eax, 0xadcf5ce8
jg 0x4131eb
cmp eax, 0xaaa02236
jne 0x412d60
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 eax, dword [eax]
mov dword [esi + 0x1c], 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 eax, dword [esi + 0x1c]
mov dword [esp + 4], eax
mov dword [esp], edi
mov edi, dword [ebp + 0x14]
call fcn.00413fa0
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, 0xfc98fe67
add ecx, edx
sub ecx, dword [eax]
add ecx, 0x3670199
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]
add ecx, 0x5a2164ab
sub ecx, dword [eax]
add ecx, 0xa5de9b55
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 eax, dword [esi + 0x60]
mov dword [esi + 0x30], 0x38402fb3
jmp 0x412d60
cmp eax, 0xae4cfaeb
jg 0x413219
cmp eax, 0xadcf5ce9
jne 0x412d60
mov al, byte [esi + 0x80]
test al, al
mov eax, 0x8b50d35
jne 0x413211
mov eax, 0x4e91ec62
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0xb15ae4c6
jg 0x413237
cmp eax, 0xae4cfaec
jne 0x412d60
mov dword [esi + 0x30], 0xc27504ee
jmp 0x412d60
cmp eax, 0xb88101de
jg 0x413263
cmp eax, 0xb15ae4c7
jne 0x412d60
mov ecx, dword [esi + 0x60]
mov eax, 0xcd59b41a
cmp dword [ecx], 0
jne 0x41325b
mov eax, 0xa1437122
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0xbf797acb
jg 0x41329c
cmp eax, 0xb88101df
jne 0x412d60
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, 0x63b604ad
cmp ecx, dword [edx]
ja 0x413294
mov eax, 0x35c6f8eb
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0xc0626785
jg 0x4132ba
cmp eax, 0xbf797acc
jne 0x412d60
mov dword [esi + 0x30], 0x5b768cdd
jmp 0x412d60
cmp eax, 0xc27504ed
jg 0x4132e4
cmp eax, 0xc0626786
jne 0x412d60
mov eax, edi
mov ecx, dword [sym.imp.ADVAPI32.dll_AddAccessAllowedObjectAce]
mov edi, dword [ecx]
mov edi, eax
mov dword [esi + 0x30], 0xc27504ee
jmp 0x412d60
cmp eax, 0xc6306f9d
jg 0x413302
cmp eax, 0xc27504ee
jne 0x412d60
mov dword [esi + 0x30], 0x5d98efbe
jmp 0x412d60
cmp eax, 0xc80cf344
jg 0x41334c
cmp eax, 0xc6306f9e
jne 0x412d60
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], 0x52debdb5
jmp 0x412d60
cmp eax, 0xcd59b419
jg 0x413378
cmp eax, 0xc80cf345
jne 0x412d60
mov ecx, dword [esi + 0x70]
mov eax, 0x831c3a7
cmp dword [ecx], 0
jne 0x413370
mov eax, 0x491ae5b9
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0xcf4e434e
jg 0x4133a4
cmp eax, 0xcd59b41a
jne 0x412d60
mov ecx, dword [esi + 0x5c]
mov eax, 0xe2c222b7
cmp dword [ecx], 0
je 0x41339c
mov eax, 0x640e8b48
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0xd9dd001d
jg 0x4133cc
cmp eax, 0xcf4e434f
jne 0x412d60
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov dword [esi + 0x30], 0x46ca8257
jmp 0x412d60
cmp eax, 0xdd96794a
jg 0x413592
cmp eax, 0xd9dd001e
jne 0x412d60
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x28], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x24], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x20], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x2c], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x1c], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x18], esp
mov eax, 0x8c
call fcn.004172c0
mov eax, esp
and eax, 0xfffffff8
mov dword [esi], eax
mov esp, eax
mov ecx, eax
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x14], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x10], esp
mov eax, 4
call fcn.004172c0
mov eax, 4
call fcn.004172c0
mov dword [esi + 0xc], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 8], esp
mov eax, 4
call fcn.004172c0
mov eax, 4
call fcn.004172c0
mov eax, 4
call fcn.004172c0
mov edx, esp
mov eax, 4
call fcn.004172c0
mov eax, 0x400
call fcn.004172c0
mov eax, 0x400
call fcn.004172c0
mov eax, 8
call fcn.004172c0
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 [ebp + 0xc]
mov edi, dword [esi + 0x20]
mov dword [edi], eax
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.00403c40
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.00402df0
add esp, 0xc
sub esp, 0xc
mov dword [esp + 4], edi
mov eax, dword [esi]
mov dword [esp], eax
mov edi, dword [ebp + 0x14]
mov dword [esp + 8], 5
call fcn.00413ca0
add esp, 0xc
mov dword [esi + 0x30], 0x2f4b385e
jmp 0x412d60
cmp eax, 0xe2c222b6
jg 0x4135b0
cmp eax, 0xdd96794b
jne 0x412d60
mov dword [esi + 0x30], 0xecf37ff
jmp 0x412d60
cmp eax, 0xea502234
jg 0x4135dc
cmp eax, 0xe2c222b7
jne 0x412d60
mov ecx, dword [esi + 0x3c]
mov eax, 0x83980040
cmp dword [ecx], 0
jne 0x4135d4
mov eax, 0x640e8b48
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0xf1e03b13
jg 0x4135fd
cmp eax, 0xea502235
jne 0x412d60
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x30], 0x5d98efbe
jmp 0x412d60
cmp eax, 0x1896b44
jg 0x41362f
cmp eax, 0xf1e03b14
jne 0x412d60
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.00417287
add esp, 4
mov dword [esi + 0x30], 0xdd96794b
jmp 0x412d60
cmp eax, 0x5e34fde
jg 0x413691
cmp eax, 0x1896b45
jne 0x412d60
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax]
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 4]
neg eax
sub ecx, eax
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.004186a2
add esp, 4
mov ecx, dword [esi + 0x4c]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x4c]
mov eax, 0xa8c4fdb3
cmp dword [ecx + 0x10], 0
jne 0x413689
mov eax, 0x85c3d687
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0x831c3a6
jg 0x413713
cmp eax, 0x5e34fdf
jne 0x412d60
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.00402df0
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 ecx, dword [esi + 0x3c]
mov ecx, dword [ecx]
add ecx, ebx
sub ecx, dword [eax]
add ecx, 0x2a2ac21a
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], 0x640e8b48
jmp 0x412d60
cmp eax, 0x8b50d34
jg 0x413731
cmp eax, 0x831c3a7
jne 0x412d60
mov dword [esi + 0x30], 0x5b768cdd
jmp 0x412d60
cmp eax, 0xe993005
jg 0x41374f
cmp eax, 0x8b50d35
jne 0x412d60
mov dword [esi + 0x30], 0x9a223b42
jmp 0x412d60
cmp eax, 0xecf37fe
jg 0x413777
cmp eax, 0xe993006
jne 0x412d60
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x60]
mov dword [ecx], eax
mov dword [esi + 0x30], 0xa94b2b54
jmp 0x412d60
cmp eax, 0x121788dc
jg 0x4137a3
cmp eax, 0xecf37ff
jne 0x412d60
mov eax, dword [esi + 0x4c]
cmp dword [eax + 0x10], 0
setne byte [esi + 0x83]
mov dword [esi + 0x30], 0x341d28e4
jmp 0x412d60
cmp eax, 0x1c1c920c
jg 0x4137c9
cmp eax, 0x121788dd
jne 0x412d60
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
mov dword [esi + 0x30], 0xc80cf345
jmp 0x412d60
cmp eax, 0x1df5124e
jg 0x413813
cmp eax, 0x1c1c920d
jne 0x412d60
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], 0xc6306f9e
jmp 0x412d60
cmp eax, 0x2749494b
jg 0x413841
cmp eax, 0x1df5124f
jne 0x412d60
mov al, byte [esi + 0x82]
test al, al
mov eax, 0xf1e03b14
jne 0x413839
mov eax, 0xdd96794b
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0x2f4b385d
jg 0x41385f
cmp eax, 0x2749494c
jne 0x412d60
mov dword [esi + 0x30], 0xae4cfaec
jmp 0x412d60
cmp eax, 0x3242f33f
jg 0x413a43
cmp eax, 0x2f4b385e
jne 0x412d60
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x34], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x38], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x3c], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x40], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x44], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x48], esp
mov eax, 0x8c
call fcn.004172c0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x4c], eax
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x50], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x54], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x58], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x5c], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x60], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x64], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x68], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x6c], esp
mov eax, 4
call fcn.004172c0
mov dword [esi + 0x70], esp
mov eax, 0x400
call fcn.004172c0
mov dword [esi + 0x74], esp
mov eax, 0x400
call fcn.004172c0
mov dword [esi + 0x78], esp
mov eax, 8
call fcn.004172c0
mov edi, esp
mov eax, dword [esi + 0x34]
mov ecx, dword [ebp + 0x14]
mov dword [eax], ecx
mov eax, dword [esi + 0x38]
mov ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov eax, dword [esi + 0x3c]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
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.00403c40
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.00402df0
add esp, 0xc
mov eax, dword [esi + 0x4c]
sub esp, 0xc
mov dword [esp + 4], edi
mov edi, dword [ebp + 0x14]
mov dword [esp], eax
mov dword [esp + 8], 5
call fcn.00413ca0
add esp, 0xc
test eax, eax
setne byte [esi + 0x7f]
mov dword [esi + 0x30], 0x3242f340
jmp 0x412d60
cmp eax, 0x341d28e3
jg 0x413a6e
cmp eax, 0x3242f340
jne 0x412d60
mov al, byte [esi + 0x7f]
test al, al
mov eax, 0xc0626786
jne 0x413a66
mov eax, 0x1896b45
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0x35c6f8ea
jg 0x413a9c
cmp eax, 0x341d28e4
jne 0x412d60
mov al, byte [esi + 0x83]
test al, al
mov eax, 0x524695ea
jne 0x413a94
mov eax, 0x95e348c9
mov dword [esi + 0x30], eax
jmp 0x412d60
cmp eax, 0x38402fb2
jg 0x413b1e
cmp eax, 0x35c6f8eb
jne 0x412d60
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x38]
mov edi, dword [esi + 0x54]
mov edi, dword [edi]
add edi, dword [edx]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.00402df0
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 ecx, dword [eax]
mov edx, dword [esi + 0x34]
mov eax, 0x51ab2294
cmp ecx, dword [edx]
ja 0x413b13
mov eax, 0x121788dd
mov dword [esi + 0x30], eax
mov edi, dword [ebp + 0x14]
jmp 0x412d60
cmp eax, 0x457da085
jg 0x413c02
cmp eax, 0x38402fb3
jne 0x412d60
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 eax, dword [eax]
mov dword [esi + 0x1c], 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 eax, dword [esi + 0x1c]
mov dword [esp + 4], eax
mov dword [esp], edi
mov edi, dword [ebp + 0x14]
call fcn.00413fa0
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]
sub ecx, dword [eax]
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 eax, dword [esi + 0x60]
cmp dword [eax], 0
sete byte [esi + 0x81]
mov dword [esi + 0x30], 0x69ff78d1
jmp 0x412d60
cmp eax, 0x46ca8256
jg 0x413c20
cmp eax, 0x457da086
jne 0x412d60
mov dword [esi + 0x30], 0x46ca8257
jmp 0x412d60
cmp eax, 0x491ae5b8
jg 0x413c48
cmp eax, 0x46ca8257
jne 0x412d60
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov dword [esi + 0x30], 0x81f5a584
jmp 0x412d60
cmp eax, 0x491ae5b9
je 0x413c62
cmp eax, 0x4e91ec62
jne 0x413c6e
mov dword [esi + 0x30], 0x2749494c
jmp 0x412d60
mov dword [esi + 0x30], 0xb15ae4c7
jmp 0x412d60
cmp eax, 0x4e9a7afa
jne 0x412d60
mov eax, dword [esi + 0x4c]
mov dword [eax + 0x14], 0
mov dword [esi + 0x30], 0x9a223b42
jmp 0x412d60
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret