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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x144
call fcn.00596bf0
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
cmp esi, ebx
je 0x50455e
mov edi, dword [esi + 0x1bc]
cmp edi, ebx
jne 0x504206
cmp dword [esi + 0x1c0], ebx
je 0x50455e
push 0x78
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.0057e420
mov edx, dword [esi]
add esp, 0xc
mov ecx, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
cmp edi, ebx
jne 0x504231
mov eax, dword [esi + 0x1c0]
jmp 0x504234
mov eax, dword [edi + 0xc]
mov edx, eax
sar edx, 8
mov byte [esp + 0x14], dl
mov byte [esp + 0x15], al
lea eax, [esp + 0x14]
lea edx, [esp + 0x110]
mov dword [esp + 0x118], eax
mov dword [esp + 0x110], 2
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x20], edx
cmp dword [esi + 0x1b8], ebx
je 0x50429f
mov al, byte [esi + 0x1b8]
mov byte [esp + 0x13], al
lea edx, [esp + 0x13]
lea eax, [esp + 0x140]
mov dword [esp + 0x148], edx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x24], eax
mov edx, dword [esi + 4]
mov dword [esp + 0xb0], edx
mov edx, dword [esi + 0x148]
lea eax, [esp + 0xb0]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x130], edx
mov edx, dword [esi + 0x16c]
lea eax, [esp + 0xd0]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x1b4]
mov dword [esp + 0xd0], edx
cdq
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x1b0]
mov dword [esp + 0x3c], edx
lea ecx, [esi + 0x48]
cdq
mov dword [esp + 0xb8], ecx
lea ecx, [esi + 0x14c]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x19c]
mov dword [esp + 0x138], ecx
lea ecx, [esi + 0x170]
mov dword [esp + 0x48], edx
mov edx, dword [esi + 0x1d0]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esi + 0x1a8]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], ecx
cmp edx, ebx
je 0x50438b
mov eax, edx
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x504360
sub eax, edi
mov dword [esp + 0x90], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x54], eax
jmp 0x50438f
mov dword [esp + 0x54], ebx
mov eax, dword [esi + 0x1d4]
cmp eax, ebx
je 0x5043bf
mov ecx, dword [esi + 0x1d8]
lea edx, [esp + 0xf0]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x64], edx
mov eax, dword [esi + 0x1dc]
cmp eax, ebx
jbe 0x5043d1
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebx
mov edx, dword [esi + 0x190]
mov eax, dword [esi + 0x1e0]
mov dword [esp + 0x60], eax
cmp edx, ebx
je 0x50441b
mov eax, edx
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5043f0
sub eax, edi
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xac], ebx
mov dword [esp + 0x68], ecx
jmp 0x50441f
mov dword [esp + 0x68], ebx
mov edx, dword [esi + 0x194]
cmp edx, ebx
je 0x50445b
mov eax, edx
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x504430
mov dword [esp + 0xc8], edx
sub eax, edi
lea edx, [esp + 0xc0]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x6c], edx
jmp 0x50445f
mov dword [esp + 0x6c], ebx
mov edx, dword [esi + 0x1f4]
cmp edx, ebx
je 0x50449b
mov eax, edx
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x504470
sub eax, edi
mov dword [esp + 0xe0], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ebx
mov dword [esp + 0x70], eax
jmp 0x50449f
mov dword [esp + 0x70], ebx
mov eax, dword [esi + 0x1e8]
mov ecx, dword [esi + 0x200]
mov edx, dword [esi + 0x1e4]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], edx
cmp eax, ebx
jne 0x5044cd
mov dword [esp + 0x84], ebx
jmp 0x5044f6
mov dword [esp + 0x108], eax
mov eax, dword [esi + 0x1ec]
lea ecx, [esp + 0x100]
mov dword [esp + 0x100], eax
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x84], ecx
movzx edx, byte [esi + 0x1f0]
mov eax, dword [esi + 0x1f8]
mov dword [esp + 0x88], edx
cmp eax, ebx
jne 0x504517
mov dword [esp + 0x8c], ebx
jmp 0x504540
mov dword [esp + 0x128], eax
mov eax, dword [esi + 0x1fc]
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], eax
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x8c], ecx
mov edx, dword [ebp + 0xc]
push ebx
push 0x5b0eb4
push edx
lea eax, [esp + 0x24]
push eax
call fcn.00466ce0
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret