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

Disassembly:
push 0xffffffffffffffff
push 0x428be1
mov eax, dword fs:[0]
push eax
mov eax, 0x404a4
call fcn.0041b6e0
mov eax, dword [0x42f0f4]
xor eax, esp
mov dword [esp + 0x404a0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x42f0f4]
xor eax, esp
push eax
lea eax, [esp + 0x404b8]
mov dword fs:[0], eax
xor ebp, ebp
mov dword [esp + 0x18], ebp
push 0xa
xor eax, eax
mov edi, 7
push 0x429a0c
lea ecx, [esp + 0x40]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebp
mov word [esp + 0x44], ax
call fcn.0040a270
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x58]
push 0x4298f0
push edx
mov dword [esp + 0x404cc], ebp
call fcn.0040b4e0
add esp, 0xc
mov ebx, 8
mov byte [esp + 0x404c0], 1
cmp dword [eax + 0x18], ebx
jb 0x415c22
mov eax, dword [eax + 4]
jmp 0x415c25
add eax, 4
lea ecx, [esp + 0x2c]
push ecx
push eax
push 0x80000001
call fcn.0040e500
add esp, 0xc
mov esi, eax
cmp dword [esp + 0x6c], ebx
jb 0x415c4d
mov edx, dword [esp + 0x58]
push edx
call fcn.0041a65d
add esp, 4
xor eax, eax
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebp
mov word [esp + 0x58], ax
mov dword [esp + 0x404c0], 0xffffffff
cmp dword [esp + 0x50], ebx
jb 0x415c7a
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0041a65d
add esp, 4
cmp esi, ebp
jne 0x416a23
push 0xffff
lea edx, [esp + 0x204b8]
push edx
push ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x30], 0xffff
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], 0x200
call dword [0x429074]
push eax
call fcn.0040e1c0
add esp, 0xc
xor eax, eax
mov word [esp + 0x12c], ax
lea eax, [esp + 0x204b4]
mov dword [esp + 0x140], edi
mov dword [esp + 0x13c], ebp
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x415ce0
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x204b8]
push ecx
lea ecx, [esp + 0x130]
call fcn.0040a270
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x404c0], 2
mov eax, esi
cmp ecx, ebx
jae 0x415d2a
lea eax, [esp + 0x12c]
mov edx, dword [esp + 0x13c]
lea ebx, [eax + edx*2]
cmp ebx, ebp
je 0x415d5f
mov eax, esi
cmp ecx, 8
jae 0x415d46
lea eax, [esp + 0x12c]
cmp eax, ebx
ja 0x415d5f
mov eax, esi
cmp ecx, 8
jae 0x415d58
lea eax, [esp + 0x12c]
lea edx, [eax + edx*2]
cmp ebx, edx
jbe 0x415d64
call fcn.0041a7c5
lea eax, [esp + 0x30]
lea edi, [esp + 0x128]
push eax
mov ecx, edi
call fcn.00409e40
mov ecx, dword [eax]
mov esi, dword [eax + 4]
lea edx, [esp + 0x94]
mov dword [esp + 0x8c], ecx
push edx
mov ecx, edi
call fcn.00409de0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, esi
je 0x415dad
mov edx, 0x5c
cmp word [eax - 2], dx
je 0x415dad
add eax, 0xfffffffe
cmp eax, esi
jne 0x415da0
push ebx
push edi
push eax
push ecx
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x13c]
call fcn.0040a0d0
push 0xd
push 0x429be0
lea ecx, [esp + 0x130]
call fcn.00404040
call fcn.00412d00
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2b8]
push edx
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x4c8]
push edx
push ebp
push eax
call fcn.0040e610
add esp, 0x20
test eax, eax
jne 0x416a09
jmp 0x415e20
mov eax, 1
mov edi, 7
cmp dword [esp + 0x28], eax
je 0x415e49
add dword [esp + 0x1c], eax
mov dword [esp + 0x24], 0xffff
mov dword [esp + 0x20], 0x200
jmp 0x4169ce
xor esi, esi
xor ecx, ecx
lea eax, [esp + 0x4b4]
mov dword [esp + 0x1e8], edi
mov dword [esp + 0x1e4], esi
mov word [esp + 0x1d4], cx
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x415e70
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x4b8]
push edx
lea ecx, [esp + 0x1d8]
call fcn.0040a270
xor eax, eax
mov word [esp + 0x110], ax
lea eax, [esp + 0x2b4]
mov byte [esp + 0x404c0], 3
mov dword [esp + 0x124], edi
mov dword [esp + 0x120], esi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x415ec0
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x2b8]
push ecx
lea ecx, [esp + 0x114]
call fcn.0040a270
mov edx, dword [esp + 0x1e4]
add edx, 0xfffffffd
push edx
push esi
lea eax, [esp + 0x14c]
push eax
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x404cc], 4
call fcn.0040b4a0
push 3
push 0x429a04
lea ecx, [esp + 0x14c]
mov byte [esp + 0x404c8], 5
call fcn.00404040
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x110]
mov eax, edx
cmp ecx, 8
jae 0x415f43
lea eax, [esp + 0x110]
mov edi, dword [esp + 0x120]
lea ebp, [eax + edi*2]
mov dword [esp + 0x30], ebp
cmp ebp, esi
je 0x415f7c
mov eax, edx
cmp ecx, 8
jae 0x415f63
lea eax, [esp + 0x110]
cmp eax, ebp
ja 0x415f7c
mov eax, edx
cmp ecx, 8
jae 0x415f75
lea eax, [esp + 0x110]
lea eax, [eax + edi*2]
cmp ebp, eax
jbe 0x415f96
call fcn.0041a7c5
mov ecx, dword [esp + 0x124]
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x110]
mov eax, edx
cmp ecx, 8
jae 0x415fa4
lea eax, [esp + 0x110]
lea ebx, [eax + edi*2]
cmp ebx, esi
je 0x415fd2
mov eax, edx
cmp ecx, 8
jae 0x415fb9
lea eax, [esp + 0x110]
cmp eax, ebx
ja 0x415fd2
mov eax, edx
cmp ecx, 8
jae 0x415fcb
lea eax, [esp + 0x110]
lea eax, [eax + edi*2]
cmp ebx, eax
jbe 0x415fec
call fcn.0041a7c5
mov ecx, dword [esp + 0x124]
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x110]
cmp ecx, 8
jb 0x416066
mov esi, edx
test edx, edx
je 0x41601e
mov eax, edx
cmp ecx, 8
jae 0x416005
lea eax, [esp + 0x110]
cmp eax, esi
ja 0x41601e
mov eax, edx
cmp ecx, 8
jae 0x416017
lea eax, [esp + 0x110]
lea ecx, [eax + edi*2]
cmp esi, ecx
jbe 0x416023
call fcn.0041a7c5
lea edi, [esp + 0x10c]
mov dword [esp + 0x98], esi
cmp esi, ebx
je 0x416042
cmp word [esi], 0x20
je 0x416042
add esi, 2
cmp esi, ebx
jne 0x416035
mov dword [esp + 0x98], esi
cmp edi, 0xfffffffc
je 0x416092
test edi, edi
jne 0x416057
call fcn.0041a7c5
mov ebx, dword [edi + 0x18]
lea eax, [edi + 4]
cmp ebx, 8
jb 0x41606f
mov ecx, dword [eax]
jmp 0x416071
lea esi, [esp + 0x110]
jmp 0x415ff7
mov ecx, eax
mov ebp, dword [edi + 0x14]
lea edx, [esi + 2]
lea ecx, [ecx + ebp*2]
cmp edx, ecx
ja 0x416089
cmp ebx, 8
jb 0x416085
mov eax, dword [eax]
cmp edx, eax
jae 0x41608e
call fcn.0041a7c5
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
push ecx
push ebp
lea ecx, [esp + 0x114]
push ecx
lea eax, [esi + 2]
push eax
xor edx, edx
xor ebx, ebx
push edi
lea ecx, [esp + 0x174]
mov dword [esp + 0x18c], 7
mov dword [esp + 0x188], ebx
mov word [esp + 0x178], dx
call fcn.0040a430
lea edx, [esp + 0x160]
push edx
lea eax, [esp + 0x180]
push eax
mov byte [esp + 0x404c8], 6
call fcn.0040a990
push eax
mov byte [esp + 0x404cc], 7
call fcn.0040b290
add esp, 0xc
cmp dword [esp + 0x194], 0x10
mov esi, eax
mov byte [esp + 0x404c0], 6
jb 0x416121
mov ecx, dword [esp + 0x180]
push ecx
call fcn.0041a65d
add esp, 4
mov dword [esp + 0x194], 0xf
mov dword [esp + 0x190], ebx
mov byte [esp + 0x180], 0
mov edi, 8
cmp esi, 0xf423f
je 0x416901
mov eax, dword [esp + 0x148]
cmp dword [esp + 0x15c], edi
jae 0x416163
lea eax, [esp + 0x148]
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
push eax
call fcn.0040bcd0
add esp, 0x1c
cmp eax, 0xffffffff
je 0x416901
push eax
call dword [0x4290a8]
mov eax, dword [esp + 0x148]
cmp dword [esp + 0x15c], edi
jae 0x4161a3
lea eax, [esp + 0x148]
push eax
call fcn.0040e890
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x1d8]
xor edx, edx
mov edi, 7
push eax
lea ecx, [esp + 0x1a4]
mov dword [esp + 0x1bc], edi
mov dword [esp + 0x1b8], ebx
mov word [esp + 0x1a8], dx
call fcn.00403e30
push 0xffffffffffffffff
xor ecx, ecx
push ebx
lea edx, [esp + 0x114]
mov word [esp + 0x1c0], cx
push edx
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x404cc], 8
mov dword [esp + 0x1d8], edi
mov dword [esp + 0x1d4], ebx
call fcn.00403e30
mov ebp, dword [0x4301dc]
mov edi, dword [0x4301d8]
mov ecx, ebp
sub ecx, edi
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x404c0], 9
cmp esi, eax
jb 0x416257
call fcn.0041a7c5
mov ebp, dword [0x4301dc]
mov edi, dword [0x4301d8]
sub ebp, edi
mov eax, 0xa0a0a0a1
imul ebp
mov ebx, esi
imul ebx, ebx, 0x198
add edx, ebp
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [ebx + edi]
mov dword [esp + 0x30], ecx
cmp esi, eax
jb 0x41628a
call fcn.0041a7c5
mov edi, dword [0x4301d8]
mov ecx, dword [esp + 0x30]
add ecx, 0x1c
push ecx
lea edx, [ebx + edi + 0x38]
push edx
lea eax, [esp + 0x1f4]
push eax
call fcn.00405520
add esp, 0xc
mov ecx, dword [0x4301dc]
sub ecx, dword [0x4301d8]
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov byte [esp + 0x404c0], 0xa
cmp esi, ecx
jb 0x4162d7
call fcn.0041a7c5
mov edx, dword [0x4301d8]
mov eax, dword [ebx + edx + 0x30]
push 0x10
lea ecx, [ebx + edx + 0x1c]
push 0x429ac8
push eax
push 0
call fcn.004094d0
test eax, eax
jne 0x41636d
mov ecx, dword [0x4301dc]
sub ecx, dword [0x4301d8]
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp esi, ecx
jb 0x416320
call fcn.0041a7c5
mov edx, dword [0x4301d8]
cmp byte [ebx + edx + 0xc7], 0
jne 0x41636d
push 0x429ab0
push esi
mov ecx, 0x4301cc
call fcn.00409360
add eax, 0x38
push eax
lea eax, [esp + 0x78]
push eax
call fcn.00405450
or dword [esp + 0x24], 1
push eax
mov byte [esp + 0x404d0], 0xb
call fcn.0040c320
add esp, 0x10
mov byte [esp + 0x17], 1
test al, al
jne 0x416372
mov byte [esp + 0x17], 0
test byte [esp + 0x18], 1
mov dword [esp + 0x404c0], 0xa
mov ebp, 8
je 0x4163a4
and dword [esp + 0x18], 0xfffffffe
cmp dword [esp + 0x88], ebp
jb 0x4163a4
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0041a65d
add esp, 4
cmp byte [esp + 0x17], 0
je 0x416731
push 9
mov edi, 0xf
push 0x429448
lea ecx, [esp + 0x40]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], 0
mov byte [esp + 0x44], 0
call fcn.00403d50
push 9
push 0x42943c
lea ecx, [esp + 0x5c]
mov byte [esp + 0x404c8], 0xc
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], 0
mov byte [esp + 0x60], 0
call fcn.00403d50
mov ecx, dword [0x4301dc]
sub ecx, dword [0x4301d8]
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x404c0], 0xd
cmp esi, eax
jb 0x41642e
call fcn.0041a7c5
mov ecx, dword [0x4301d8]
lea edx, [ebx + ecx + 0x38]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.0040a990
add esp, 8
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x58]
push edx
push eax
lea ecx, [esp + 0x230]
mov byte [esp + 0x404cc], 0xe
call fcn.004067d0
cmp dword [esp + 0x88], 0x10
jb 0x41647c
mov eax, dword [esp + 0x74]
push eax
call fcn.0041a65d
add esp, 4
xor ebx, ebx
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
cmp dword [esp + 0x6c], 0x10
jb 0x4164a4
mov ecx, dword [esp + 0x58]
push ecx
call fcn.0041a65d
add esp, 4
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], 0
cmp dword [esp + 0x50], 0x10
mov byte [esp + 0x404c0], 0x12
jb 0x4164cd
mov edx, dword [esp + 0x3c]
push edx
call fcn.0041a65d
add esp, 4
push ebx
lea ecx, [esp + 0x228]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], 0
call fcn.004077a0
test al, al
je 0x41671d
push 0x429348
lea ecx, [esp + 0x180]
call fcn.00404670
mov ebx, dword [esp + 0x258]
mov ebp, dword [esp + 0x240]
lea eax, [esp + 0x17c]
push eax
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x248]
mov byte [esp + 0x404c8], 0x13
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x41653e
cmp eax, ebp
je 0x416543
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x404c0], 0x12
setne bl
cmp dword [esp + 0x194], 0x10
jb 0x41656b
mov edx, dword [esp + 0x180]
push edx
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x416718
push 0x429348
lea ecx, [esp + 0xa0]
call fcn.00404670
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x244]
mov byte [esp + 0x404c4], 0x14
call fcn.00406270
push eax
lea ecx, [esp + 0x20c]
call fcn.004042f0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x404c0], 0x16
call fcn.00403510
push 0x429404
lea ecx, [esp + 0x74]
call fcn.00404670
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x244]
mov byte [esp + 0x404c4], 0x17
call fcn.00406270
push eax
lea ecx, [esp + 0x180]
call fcn.004042f0
lea ecx, [esp + 0x70]
mov byte [esp + 0x404c0], 0x19
call fcn.00403510
lea edx, [esp + 0x17c]
push 0x429bdc
push edx
call fcn.004032a0
add esp, 8
test al, al
je 0x41663f
push 0x4292e8
lea ecx, [esp + 0xd8]
call fcn.00404670
or dword [esp + 0x18], 2
mov byte [esp + 0x404c0], 0x1a
jmp 0x416646
lea eax, [esp + 0x17c]
lea ecx, [esp + 0x208]
push ecx
push eax
lea edx, [esp + 0xc0]
push edx
call fcn.00404bb0
push eax
lea eax, [esp + 0x100]
push eax
mov dword [esp + 0x404d4], 0x1b
call fcn.0040b930
add esp, 0x14
push eax
push esi
mov ecx, 0x4301cc
mov byte [esp + 0x404c8], 0x1c
call fcn.00409360
add eax, 0x38
push eax
lea ecx, [esp + 0xa4]
push ecx
call fcn.00405520
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x404cc], 0x1d
call fcn.00403e30
lea ecx, [esp + 0x9c]
call fcn.004035b0
lea ecx, [esp + 0xf0]
call fcn.004035b0
lea ecx, [esp + 0xb8]
call fcn.00403510
test byte [esp + 0x18], 2
mov dword [esp + 0x404c0], 0x19
je 0x416700
and dword [esp + 0x18], 0xfffffffd
lea ecx, [esp + 0xd4]
call fcn.00403510
lea ecx, [esp + 0x17c]
call fcn.00403510
lea ecx, [esp + 0x208]
call fcn.00403510
mov ebp, 8
lea ecx, [esp + 0x224]
mov byte [esp + 0x404c0], 0xa
call fcn.00406700
mov esi, dword [esp + 0x1f0]
cmp dword [esp + 0x204], ebp
jae 0x416748
lea esi, [esp + 0x1f0]
mov edx, dword [esp + 0x19c]
cmp dword [esp + 0x1b0], ebp
jae 0x41675f
lea edx, [esp + 0x19c]
mov ecx, dword [esp + 0x1b8]
cmp dword [esp + 0x1cc], ebp
jae 0x416776
lea ecx, [esp + 0x1b8]
mov eax, dword [esp + 0x12c]
cmp dword [esp + 0x140], ebp
jae 0x41678d
lea eax, [esp + 0x12c]
push esi
push edx
push 0x429d7c
push ecx
push eax
call fcn.0040d180
inc dword [esp + 0x30]
add esp, 0x14
mov dword [esp + 0x24], 0xffff
mov dword [esp + 0x20], 0x200
cmp dword [esp + 0x204], ebp
jb 0x4167cb
mov edx, dword [esp + 0x1f0]
push edx
call fcn.0041a65d
add esp, 4
xor edi, edi
xor eax, eax
mov esi, 7
mov dword [esp + 0x204], esi
mov dword [esp + 0x200], edi
mov word [esp + 0x1f0], ax
cmp dword [esp + 0x1cc], ebp
jb 0x416803
mov ecx, dword [esp + 0x1b8]
push ecx
call fcn.0041a65d
add esp, 4
xor edx, edx
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x1c8], edi
mov word [esp + 0x1b8], dx
cmp dword [esp + 0x1b0], ebp
jb 0x416834
mov eax, dword [esp + 0x19c]
push eax
call fcn.0041a65d
add esp, 4
xor ecx, ecx
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1ac], edi
mov word [esp + 0x19c], cx
cmp dword [esp + 0x178], ebp
jb 0x416865
mov edx, dword [esp + 0x164]
push edx
call fcn.0041a65d
add esp, 4
xor eax, eax
mov dword [esp + 0x178], esi
mov dword [esp + 0x174], edi
mov word [esp + 0x164], ax
cmp dword [esp + 0x15c], ebp
jb 0x416896
mov ecx, dword [esp + 0x148]
push ecx
call fcn.0041a65d
add esp, 4
xor edx, edx
mov dword [esp + 0x15c], esi
mov dword [esp + 0x158], edi
mov word [esp + 0x148], dx
cmp dword [esp + 0x124], ebp
jb 0x4168c7
mov eax, dword [esp + 0x110]
push eax
call fcn.0041a65d
add esp, 4
xor ecx, ecx
mov dword [esp + 0x124], esi
mov dword [esp + 0x120], edi
mov word [esp + 0x110], cx
mov byte [esp + 0x404c0], 2
cmp dword [esp + 0x1e8], ebp
jb 0x4169ce
mov edx, dword [esp + 0x1d4]
push edx
jmp 0x4169c6
inc dword [esp + 0x1c]
mov dword [esp + 0x24], 0xffff
mov dword [esp + 0x20], 0x200
cmp dword [esp + 0x178], edi
jb 0x41692e
mov eax, dword [esp + 0x164]
push eax
call fcn.0041a65d
add esp, 4
xor ecx, ecx
mov esi, 7
mov dword [esp + 0x178], esi
mov dword [esp + 0x174], ebx
mov word [esp + 0x164], cx
cmp dword [esp + 0x15c], edi
jb 0x416964
mov edx, dword [esp + 0x148]
push edx
call fcn.0041a65d
add esp, 4
xor eax, eax
mov dword [esp + 0x15c], esi
mov dword [esp + 0x158], ebx
mov word [esp + 0x148], ax
cmp dword [esp + 0x124], edi
jb 0x416995
mov ecx, dword [esp + 0x110]
push ecx
call fcn.0041a65d
add esp, 4
xor edx, edx
mov dword [esp + 0x124], esi
mov dword [esp + 0x120], ebx
mov word [esp + 0x110], dx
mov byte [esp + 0x404c0], 2
cmp dword [esp + 0x1e8], edi
jb 0x4169ce
mov eax, dword [esp + 0x1d4]
push eax
call fcn.0041a65d
add esp, 4
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2b8]
push edx
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x28]
push 0
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x4c8]
push edx
push eax
push ecx
call fcn.0040e610
add esp, 0x20
test eax, eax
je 0x415e20
cmp dword [esp + 0x140], 8
jb 0x416a23
mov edx, dword [esp + 0x12c]
push edx
call fcn.0041a65d
add esp, 4
mov ecx, dword [esp + 0x404b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x404a0]
xor ecx, esp
call fcn.0041ac87
add esp, 0x404b0
ret