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

Disassembly:
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
xor ecx, ecx
inc ebx
mov edx, 0x638490
lea edi, [esi + 0xa8]
cmp byte [edi], cl
je 0x415c54
test byte [edi], bl
je 0x415bdb
mov eax, dword [esi + 8]
cmp eax, edx
je 0x415bdb
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x415bd9
mov eax, dword [eax]
mov byte [eax], cl
mov eax, dword [edi]
shr eax, 1
test bl, al
je 0x415bf7
mov eax, dword [esi + 0xc]
cmp eax, edx
je 0x415bf7
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x415bf5
mov eax, dword [eax]
mov byte [eax], cl
mov eax, dword [edi]
shr eax, 2
test bl, al
je 0x415c14
mov eax, dword [esi + 0x10]
cmp eax, edx
je 0x415c14
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x415c12
mov eax, dword [eax]
mov byte [eax], cl
mov eax, dword [edi]
shr eax, 4
mov dword [esi + 0x18], ecx
test bl, al
je 0x415c34
mov eax, dword [esi + 0x14]
cmp eax, edx
je 0x415c34
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x415c32
mov eax, dword [eax]
mov byte [eax], cl
mov eax, dword [edi]
shr eax, 5
test bl, al
je 0x415c51
mov eax, dword [esi + 0x20]
cmp eax, edx
je 0x415c51
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x415c4f
mov eax, dword [eax]
mov byte [eax], cl
mov dword [esi + 0x1c], ecx
mov eax, dword [edi]
test eax, 0xff00
je 0x415cdb
shr eax, 8
test bl, al
je 0x415c78
mov eax, dword [esi + 0x34]
cmp eax, edx
je 0x415c78
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x415c76
mov eax, dword [eax]
mov byte [eax], cl
mov eax, dword [edi]
shr eax, 9
test bl, al
je 0x415c95
mov eax, dword [esi + 0x38]
cmp eax, edx
je 0x415c95
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x415c93
mov eax, dword [eax]
mov byte [eax], cl
mov eax, dword [edi]
shr eax, 0xa
test bl, al
je 0x415cb2
mov eax, dword [esi + 0x3c]
cmp eax, edx
je 0x415cb2
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x415cb0
mov eax, dword [eax]
mov byte [eax], cl
mov eax, dword [edi]
shr eax, 0xe
mov dword [esi + 0xa0], ecx
test bl, al
je 0x415cd5
mov eax, dword [esi + 0x60]
cmp eax, edx
je 0x415cd5
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], ecx
jb 0x415cd3
mov eax, dword [eax]
mov byte [eax], cl
mov dword [esi + 0x68], ecx
mov dword [esi + 0x6c], ecx
test dword [edi], 0xff0000
je 0x415cef
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], ecx
mov ebx, ecx
cmp dword [esi + 0x28], ecx
jle 0x415d09
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx]
call dword [eax + 0xc]
inc ebx
cmp ebx, dword [esi + 0x28]
jl 0x415cf6
xor ecx, ecx
mov dword [esi + 0x28], ecx
lea ecx, [esi + 0x40]
call fcn.004183e6
xor ebx, ebx
cmp dword [esi + 0x54], ebx
jle 0x415d2c
mov eax, dword [esi + 0x50]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx]
call dword [eax + 0xc]
inc ebx
cmp ebx, dword [esi + 0x54]
jl 0x415d1b
and dword [esi + 0x54], 0
xor ebx, ebx
cmp dword [esi + 0x84], ebx
jle 0x415d51
mov eax, dword [esi + 0x80]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx]
call dword [eax + 0xc]
inc ebx
cmp ebx, dword [esi + 0x84]
jl 0x415d3a
and dword [esi + 0x84], 0
xor ebx, ebx
cmp dword [esi + 0x94], ebx
jle 0x415d79
mov eax, dword [esi + 0x90]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx]
call dword [eax + 0xc]
inc ebx
cmp ebx, dword [esi + 0x94]
jl 0x415d62
and dword [esi + 0x94], 0
push 4
push 0
push edi
call fcn.00589540
add esp, 0xc
lea ecx, [esi + 4]
cmp dword [ecx], 0
pop edi
pop esi
pop ebx
jne fcn.005100e0
ret