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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x44]
add eax, 1
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x88]
cmp edi, 2
lea edx, [eax + 1]
ja 0x4183f8
jae 0x4183f0
cmp edi, 0
jbe 0x4184c0
mov dword [esp + 0x10], 0
mov eax, 0x12
mov dword [esp + 0x20], 0xa
jmp 0x4185b0
cmp esi, 0x540be3ff
jbe 0x4183c1
cmp edi, 0x38d7e
jbe 0x418460
cmp edi, 0x1634578
jbe 0x418530
cmp edi, 0xde0b6b3
jb 0x418998
jbe 0x41898c
cmp edi, 0x8ac72304
ja 0x418a37
jb 0x418438
cmp esi, 0x89e7ffff
ja 0x418a37
mov dword [esp + 0x10], 0
mov eax, 0x1b
mov dword [esp + 0x20], 0x13
jmp 0x4185b0
jae 0x418790
cmp edi, 0xe8
jbe 0x418570
cmp edi, 0x918
jb 0x418972
jbe 0x418966
cmp edi, 0x5af3
ja 0x418a51
jb 0x41849e
cmp esi, 0x107a3fff
ja 0x418a51
mov dword [esp + 0x10], 0
mov eax, 0x16
mov dword [esp + 0x20], 0xe
jmp 0x4185b0
cmp esi, 0x1869f
jbe 0x4187b0
cmp edi, 0
ja 0x4183ca
cmp esi, 0x98967f
jbe 0x418a18
cmp edi, 0
ja 0x4183ca
cmp esi, 0x5f5e0ff
jbe 0x4189fe
cmp edi, 0
ja 0x4183ca
cmp esi, 0x3b9ac9ff
ja 0x4183ca
mov dword [esp + 0x10], 0
mov eax, 0x11
mov dword [esp + 0x20], 9
jmp 0x4185b0
jb 0x41853e
cmp esi, 0x5d89ffff
ja 0x41840c
cmp edi, 0x2386f2
ja 0x4189be
jae 0x4189b2
mov dword [esp + 0x10], 0
mov eax, 0x18
mov dword [esp + 0x20], 0x10
jmp 0x4185b0
jb 0x41857e
cmp esi, 0xd4a50fff
ja 0x418472
cmp edi, 0x17
ja 0x4189e4
jae 0x4189d8
mov dword [esp + 0x10], 0
mov eax, 0x13
mov dword [esp + 0x20], 0xb
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], 0
cmp edx, ecx
jle 0x4185d0
sub edx, ecx
add eax, edx
mov dword [esp + 0x28], edx
mov edx, 0
cmovs eax, edx
call fcn.0040e2a0
test bl, bl
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
je 0x4185f0
mov byte [eax], 0x2d
mov dword [esp + 0x14], 1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
cmp edx, eax
jge 0x4187e0
mov ecx, eax
mov eax, 5
sub ecx, edx
lea edx, [ecx - 1]
mov ebx, dword [edx*8 + 0x4240a4]
mul dword [edx*8 + 0x4240a0]
lea ebx, [ebx + ebx*4]
add edx, ebx
mov ebx, dword [ecx*8 + 0x4240a4]
mov ecx, dword [ecx*8 + 0x4240a0]
add eax, esi
adc edx, edi
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ebx
call fcn.0041d0e0
mov ecx, dword [esp + 0x34]
mov ebx, edx
mov edx, dword [esp + 0x30]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.0041d0e0
cmp ebx, edx
jb 0x418940
ja 0x418683
cmp dword [esp + 0x2c], eax
jbe 0x418940
lea eax, [ebp + 1]
mov esi, dword [esp + 0x2c]
mov edi, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x84]
add eax, 2
mov dword [esp + 0x1c], eax
mov ecx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
sub ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x38], eax
lea eax, [ecx - 1]
mov dword [esp + 0x2c], ecx
test eax, eax
mov dword [esp + 0x30], eax
jle 0x41895f
mov eax, 1
xor ebx, ebx
sub eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
lea ebp, [ecx + edx]
mov esi, esi
lea edi, [edi]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call fcn.0041d200
add eax, 0x30
mov byte [ebp + ebx], al
mov dword [esp], esi
sub ebx, 1
mov dword [esp + 4], edi
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call fcn.0041d0e0
cmp ebx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
jne 0x4186e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + ecx - 1]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x4187f0
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
test eax, eax
mov byte [eax + edi], 0
je 0x418a85
mov edi, eax
mov eax, dword [esp + 0x24]
mov dword [eax], edi
mov edi, dword [esp + 0x14]
mov dword [eax + 8], 0
mov dword [eax + 4], edi
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp esi, 0xa4c67fff
ja 0x418400
jmp 0x418466
cmp edi, 0
jbe 0x418a8a
mov dword [esp + 0x10], 0
mov eax, 0xd
mov dword [esp + 0x20], 5
jmp 0x4185b0
mov dword [esp + 0x1c], eax
mov ecx, eax
jmp 0x4186a0
mov edx, dword [esp + 0x1c]
test edx, edx
jle 0x41880e
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
add dword [esp + 0x14], 1
sub edx, eax
add eax, 1
mov byte [ecx + edx], 0x2e
mov ebx, dword [esp + 0x38]
sub ebx, eax
js 0x418841
mov dword [esp + 4], edi
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
mov dword [esp], esi
call fcn.0041d200
mov edi, dword [esp + 0x18]
add dword [esp + 0x14], 1
add eax, 0x30
mov byte [edi + ebx], al
mov edi, dword [esp + 0x28]
test edi, edi
jle 0x41886f
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 8], edi
mov dword [esp + 4], 0x30
add eax, ebx
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov ecx, ebx
add ecx, edi
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov byte [eax + edi], 0x65
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x20]
lea edi, [eax + edi - 1]
mov eax, dword [esp + 0x14]
test edi, edi
js 0x418950
lea esi, [eax + 2]
mov byte [edx + eax + 1], 0x2b
mov ecx, 0x66666667
mov eax, edi
mov ebp, edi
imul ecx
mov eax, edi
sar eax, 0x1f
mov dword [esp + 0x10], eax
sar edx, 2
sub edx, eax
lea eax, [edx + edx*4]
mov ebx, edx
add eax, eax
sub ebp, eax
mov eax, edx
imul ecx
mov ecx, edx
mov edx, ebx
sar edx, 0x1f
sar ecx, 2
sub ecx, edx
mov edx, 0x51eb851f
lea eax, [ecx + ecx*4]
mov ecx, ebx
add eax, eax
sub ecx, eax
mov eax, edi
imul edx
sar edx, 5
sub edx, dword [esp + 0x10]
test edx, edx
jle 0x4188fb
mov eax, dword [esp + 0x18]
add edx, 0x30
mov byte [eax + esi], dl
add esi, 1
mov edi, dword [esp + 0x18]
lea ebx, [ebp + 0x30]
add ecx, 0x30
lea eax, [esi + 2]
test edi, edi
mov byte [edi + esi], cl
mov byte [edi + esi + 1], bl
mov byte [edi + esi + 2], 0
je 0x418a85
mov edx, dword [esp + 0x24]
mov dword [edx + 4], eax
mov dword [edx + 8], 0
mov eax, edx
mov dword [edx], edi
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x2c]
mov edi, ebx
mov ecx, dword [esp + 0x1c]
jmp 0x4186a0
mov byte [edx + eax + 1], 0x2d
lea esi, [eax + 2]
neg edi
jmp 0x41889f
xor eax, eax
jmp 0x418740
cmp esi, 0x4e729fff
ja 0x418484
mov dword [esp + 0x10], 0
mov eax, 0x15
mov dword [esp + 0x20], 0xd
jmp 0x4185b0
cmp esi, 0xa763ffff
ja 0x41841e
mov dword [esp + 0x10], 0
mov eax, 0x1a
mov dword [esp + 0x20], 0x12
jmp 0x4185b0
cmp esi, 0x6fc0ffff
jbe 0x418550
mov dword [esp + 0x10], 0
mov eax, 0x19
mov dword [esp + 0x20], 0x11
jmp 0x4185b0
cmp esi, 0x4876e7ff
jbe 0x41858d
mov dword [esp + 0x10], 0
mov eax, 0x14
mov dword [esp + 0x20], 0xc
jmp 0x4185b0
mov dword [esp + 0x10], 0
mov eax, 0x10
mov dword [esp + 0x20], 8
jmp 0x4185b0
cmp edi, 0
mov dword [esp + 0x10], 0
jbe 0x418a6b
mov eax, 0xf
mov dword [esp + 0x20], 7
jmp 0x4185b0
mov dword [esp + 0x10], 0
mov eax, 0x1c
mov dword [esp + 0x20], 0x14
jmp 0x4185b0
mov dword [esp + 0x10], 0
mov eax, 0x17
mov dword [esp + 0x20], 0xf
jmp 0x4185b0
cmp esi, 0xf423f
ja 0x418a25
mov eax, 0xe
mov dword [esp + 0x20], 6
jmp 0x4185b0
call fcn.0041d9d0
cmp esi, 0x63
ja 0x418aae
cmp edi, 0
jbe 0x418b08
mov dword [esp + 0x10], 0
mov eax, 0xa
mov dword [esp + 0x20], 2
jmp 0x4185b0
cmp edi, 0
ja 0x4187b9
cmp esi, 0x3e7
jbe 0x418aee
cmp edi, 0
ja 0x4187b9
cmp esi, 0x270f
ja 0x4187b9
mov dword [esp + 0x10], 0
mov eax, 0xc
mov dword [esp + 0x20], 4
jmp 0x4185b0
mov dword [esp + 0x10], 0
mov eax, 0xb
mov dword [esp + 0x20], 3
jmp 0x4185b0
cmp esi, 9
ja 0x418a94
mov dword [esp + 0x10], 1
mov eax, 9
mov dword [esp + 0x20], 1
jmp 0x4185b0