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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x480e19
push eax
mov eax, dword [esp + 0x14]
mov dword fs:[0], esp
sub esp, 0x68
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
mov esi, ecx
jge 0x418066
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x8c], eax
cmp eax, ebx
jle 0x41869d
lea ecx, [esp + 0x20]
call fcn.0047d337
mov cl, byte [esi + 4]
mov eax, 4
cmp cl, 1
mov ecx, dword [esi + 0x344]
mov dword [esi + 0x3f0], eax
mov dword [esi + 0x3f4], eax
mov al, byte [esp + 0x90]
cmp ecx, ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x10], ebx
mov dword [esi + 0x3f8], 1
mov byte [esi + 0x3e4], al
je 0x4180c4
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x344], ebx
push 0x1940
call fcn.004785c2
add esp, 4
mov dword [esp + 0x90], eax
cmp eax, ebx
mov byte [esp + 0x80], 1
je 0x4180ef
mov ecx, eax
call fcn.0040a830
mov edi, eax
jmp 0x4180f1
xor edi, edi
cmp edi, ebx
mov byte [esp + 0x80], bl
je 0x418689
mov ecx, dword [esi + 0x3fc]
cmp ecx, ebx
je 0x418110
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esi + 0x400]
cmp ecx, ebx
je 0x418120
mov edx, dword [ecx]
push 1
call dword [edx]
push 0x1940
call fcn.004785c2
add esp, 4
mov dword [esp + 0x90], eax
cmp eax, ebx
mov byte [esp + 0x80], 2
je 0x418149
mov ecx, eax
call fcn.0040a830
jmp 0x41814b
xor eax, eax
push 0x1940
mov byte [esp + 0x84], bl
mov dword [esi + 0x3fc], eax
call fcn.004785c2
add esp, 4
mov dword [esp + 0x90], eax
cmp eax, ebx
mov byte [esp + 0x80], 3
je 0x418181
mov ecx, eax
call fcn.0040a830
jmp 0x418183
xor eax, eax
mov ecx, dword [esi + 0x3fc]
mov byte [esp + 0x80], bl
cmp ecx, ebx
mov dword [esi + 0x400], eax
je 0x418655
cmp eax, ebx
je 0x418655
push ebx
push 0x258
push 0x320
mov ecx, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], 0x320
mov dword [esp + 0x48], 0x258
call fcn.0040aa80
test al, al
jne 0x4181e9
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
jmp 0x418689
mov edx, dword [esi + 0x44]
lea ecx, [esp + 0x30]
push ebx
push ecx
lea eax, [esp + 0x20]
push edx
push eax
mov ecx, edi
call fcn.0040af00
mov ecx, dword [esi + 0x3fc]
push ebx
push 0x258
push 0x320
mov byte [esp + 0x9c], 1
call fcn.0040aa80
test al, al
jne 0x418228
mov byte [esp + 0x90], bl
mov ecx, dword [esi + 0x400]
push ebx
push 0x258
push 0x320
call fcn.0040aa80
test al, al
je 0x41824b
cmp byte [esp + 0x90], bl
jne 0x418276
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
mov ecx, dword [esi + 0x3fc]
cmp ecx, ebx
je 0x418263
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esi + 0x400]
cmp ecx, ebx
je 0x41867d
jmp 0x418677
mov ecx, dword [esi + 0x48]
lea eax, [esp + 0x30]
push ebx
push eax
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [esi + 0x3fc]
push edx
call fcn.0040af00
mov ecx, dword [esi + 0x44]
lea eax, [esp + 0x30]
push ebx
push eax
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [esi + 0x400]
push edx
call fcn.0040af00
mov ecx, dword [esi + 0x284]
cmp ecx, ebx
je 0x4182e6
lea eax, [esp + 0x30]
lea edx, [esp + 0x18]
push eax
mov eax, dword [esi + 0x3fc]
push edx
push eax
call fcn.00420660
mov eax, dword [esi + 0x400]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esi + 0x284]
push edx
push eax
call fcn.00420660
mov ecx, dword [esp + 0x94]
mov dword [esi + 0x344], edi
mov edx, dword [0x4ccd64]
push 1
push ecx
mov ecx, dword [edx + 0x7e8]
call fcn.0043b0f0
test al, al
jne 0x41832a
mov ecx, dword [esi + 0x344]
cmp ecx, ebx
je 0x41864d
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x344], ebx
jmp 0x418689
mov ecx, dword [0x4ccd64]
mov ecx, dword [ecx + 0x7e8]
call fcn.0043b450
mov ebp, dword [0x4832e0]
sub eax, 0x436
push eax
push 0x40
call ebp
mov edi, eax
cmp edi, ebx
jne 0x418381
mov edx, dword [0x4ccd64]
mov ecx, dword [edx + 0x7e8]
call fcn.0043b3d0
mov ecx, dword [esi + 0x344]
cmp ecx, ebx
je 0x41864d
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x344], ebx
jmp 0x418689
mov ecx, dword [0x4ccd64]
push 0xe
mov ecx, dword [ecx + 0x7e8]
call fcn.0043b460
mov eax, dword [0x4ccd64]
lea edx, [esp + 0x50]
push 0x28
push edx
mov ecx, dword [eax + 0x7e8]
call fcn.0043b480
mov eax, dword [esi + 0x3ec]
cmp eax, ebx
je 0x4183c2
push eax
call dword [0x4832e8]
mov dword [esi + 0x3ec], ebx
push 0x75300
push 0x40
call ebp
cmp eax, ebx
mov dword [esi + 0x3ec], eax
jne 0x418408
push edi
call dword [0x4832e8]
mov ecx, dword [0x4ccd64]
mov ecx, dword [ecx + 0x7e8]
call fcn.0043b3d0
mov ecx, dword [esi + 0x344]
cmp ecx, ebx
je 0x4183fd
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x344], ebx
jmp 0x418689
mov eax, dword [0x4ccd64]
push 0x400
mov ecx, dword [eax + 0x7e8]
call fcn.0043b460
mov ecx, dword [esp + 0x58]
lea ebp, [ecx - 1]
cmp ebp, ebx
jl 0x418447
mov eax, dword [esp + 0x54]
mov edx, dword [0x4ccd64]
push eax
imul eax, ebp
mov ecx, dword [edx + 0x7e8]
add eax, edi
push eax
call fcn.0043b480
dec ebp
jns 0x418428
mov eax, dword [0x4ccd64]
mov ecx, dword [eax + 0x7e8]
call fcn.0043b3d0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
push 0x258
push 0x320
mov dword [esp + 0x40], eax
push eax
mov eax, dword [esi + 0x3ec]
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x4c], ecx
push eax
push edi
mov ecx, esi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
call fcn.00419250
push edi
call dword [0x4832e8]
push ebx
call dword [0x483064]
push eax
lea ecx, [esp + 0x24]
call fcn.0047d3ee
mov ecx, dword [esi + 0x344]
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x20]
mov ecx, dword [ecx + 8]
neg eax
sbb eax, eax
push ecx
and eax, edi
push eax
call dword [0x483060]
mov dword [esp + 0x90], eax
call dword [0x48359c]
mov ebp, eax
mov eax, dword [esp + 0x8c]
cmp eax, ebx
jbe 0x41859c
mov edi, ebp
call dword [0x48359c]
mov ebp, eax
sub eax, edi
cmp eax, 0xc8
jbe 0x4184fb
mov eax, 0xc8
mov edi, dword [esp + 0x10]
xor edx, edx
add edi, eax
mov eax, edi
mov dword [esp + 0x10], edi
shl eax, 8
div dword [esp + 0x8c]
cmp eax, ebx
mov dword [esi + 0x3e0], eax
jge 0x418523
mov dword [esi + 0x3e0], ebx
mov ecx, dword [esi + 0x3e0]
mov eax, 0xff
cmp ecx, eax
jle 0x418538
mov dword [esi + 0x3e0], eax
mov al, byte [esi + 4]
mov ecx, esi
cmp al, 1
jne 0x418548
call fcn.004186c0
jmp 0x41854d
call fcn.00418800
mov ecx, dword [0x4cc9f8]
call fcn.0044cd40
test al, al
jne 0x41859c
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x20]
mov edx, dword [esp + 0x88]
push 0xcc0020
neg eax
sbb eax, eax
push ebx
and eax, ecx
push ebx
push eax
mov eax, dword [edx + 4]
push 0x258
push 0x320
push ebx
push ebx
push eax
call dword [0x48305c]
cmp edi, dword [esp + 0x8c]
jb 0x4184e3
mov eax, dword [esp + 0x98]
mov byte [esi + 0x39c], bl
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0x320
mov dword [esp + 0x4c], 0x258
jne 0x4185d2
mov eax, dword [esi + 0x44]
jmp 0x4185dd
mov ecx, dword [0x4ccd64]
call fcn.0044c0e0
mov edx, dword [esi + 0x48]
lea ecx, [esp + 0x40]
push ebx
push ecx
lea ecx, [esp + 0x18]
push edx
push ecx
mov ecx, eax
call fcn.0040af00
mov ecx, dword [0x4ccd64]
lea edx, [esp + 0x40]
push ebx
push edx
call fcn.00448090
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x20]
push ecx
neg eax
sbb eax, eax
and eax, ebp
push eax
call dword [0x483060]
lea ecx, [esp + 0x20]
call fcn.0047d456
mov edx, dword [esi + 0x3ec]
push edx
call dword [0x4832e8]
mov ecx, dword [esi + 0x344]
mov dword [esi + 0x3ec], ebx
cmp ecx, ebx
je 0x41864d
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x344], ebx
jmp 0x418689
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
mov ecx, dword [esi + 0x3fc]
cmp ecx, ebx
je 0x41866d
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esi + 0x400]
cmp ecx, ebx
je 0x41867d
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x3fc], ebx
mov dword [esi + 0x400], ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x80], 0xffffffff
call fcn.0047d46c
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x74
ret 0x14