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

Disassembly:
push edi
push esi
push ebp
push ebx
push eax
mov eax, 0x124
call fcn.006021b0
mov eax, dword [esp + 0x124]
lea eax, [ecx + 0x4c]
mov dword [esp + 0x14], eax
mov ebx, ecx
mov esi, dword [ebx + 0x14]
mov edx, dword [ebx + 0x3c]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
lea ebp, [edx + edx]
add ebp, ebp
add ebp, ebp
add ebp, esi
mov eax, dword [esi + edx*8 + 0x38]
test eax, eax
jne 0x52421d
mov ecx, ebx
call fcn.00524814
cmp eax, 1
je 0x5247ae
mov eax, dword [ebx + 0x14]
mov edx, dword [ebx + 0x3c]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
lea ebp, [edx + edx]
add ebp, ebp
add ebp, ebp
add ebp, eax
mov esi, dword [eax + edx*8 + 0x38]
test esi, esi
je 0x5241ee
mov esi, dword [ebp + 0x38]
mov dword [ebx + 0x20], esi
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x44]
shr eax, 7
sub eax, dword [ebp + 4]
mov edx, dword [ebx + 0x20]
cmp edx, eax
jae 0x5242b1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebp
mov ebp, dword [ebx + 0xc]
mov eax, dword [esp + 0x1c]
lea edx, [eax + eax]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
add edx, edx
add edx, edx
lea esi, [esp + 0x28]
push 1
push 0x80
push edx
push esi
mov ecx, dword [ebp + 0xc]
call fcn.0052725c
cmp eax, 0x80
je 0x5242e3
mov eax, dword [ebp + 4]
test eax, eax
jne 0x524287
mov dword [ebp + 4], 0x2002
inc dword [ebx + 0x20]
mov eax, dword [ebx + 0x96]
test eax, eax
je 0x5242bd
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov dword [esp], edx
mov eax, dword [esp]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x10]
cmp eax, edx
jb 0x524247
mov ebp, dword [esp + 0xc]
mov dword [ebp + 0x38], 0
jmp 0x5241cf
mov dword [ebx + 0x96], 1
mov ecx, ebx
call fcn.005262cc
cmp eax, 1
jne 0x524294
mov eax, 1
add esp, 0x128
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov dword [esp], edx
lea ecx, [esp + 0x28]
push 0x80
call fcn.004f64a8
cmp eax, 1
je 0x5247a2
inc dword [ebx + 0x20]
mov eax, dword [esp + 0x74]
cmp eax, dword [ebx]
jne 0x5247f9
lea ecx, [esp + 0x5f]
mov edx, dword [esp + 0x14]
call fcn.005005f8
test eax, eax
je 0x52437b
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x5246ab
call fcn.0050945c
mov esi, dword [ebx + 0x10]
mov ebp, dword [ebx + 0x48]
lea edx, [esp + 0x5f]
push edx
push dword [ebp + 0x30]
push esi
call fcn.00509634
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
call dword [edx + 8]
cmp eax, 1
je 0x5247d9
mov eax, dword [ebx + 0x10]
mov dword [eax + 0x14], 1
lea edi, [esp + 0x5f]
mov esi, dword [esp + 0x14]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x524371
mov ecx, dword [esp + 0x80]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
call fcn.004dbf60
mov dword [esp + 4], eax
mov ebp, dword [ebx + 0xc]
mov esi, dword [ebx + 0x20]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov edi, dword [ebx + 0x44]
mov dword [esp + 0x18], edi
lea edx, [esi + esi]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
add edx, edx
add edx, edx
lea edi, [eax + eax]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
push 1
push edi
push edx
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.0052725c
cmp eax, edi
je 0x524587
mov eax, dword [ebp + 4]
test eax, eax
jne 0x5243f6
mov dword [ebp + 4], 0x2002
mov ecx, dword [esp + 4]
call fcn.004dbc10
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
add eax, esi
cmp esi, eax
jae 0x52429e
lea ebp, [esi + esi]
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 0x20]
mov dword [esp], eax
mov edx, dword [ebx + 0x44]
mov dword [esp + 4], edx
lea edx, [eax + eax]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
add edx, edx
add edx, edx
lea eax, [esp + 0xa8]
push 1
push 0x80
push edx
push eax
mov ecx, dword [edi + 0xc]
call fcn.0052725c
cmp eax, 0x80
je 0x524700
mov eax, dword [edi + 4]
test eax, eax
jne 0x524473
mov dword [edi + 4], 0x2002
lea eax, [esp + 0xa8]
xor edi, edi
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], edi
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], edi
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], edi
mov dword [eax + 0x38], edi
mov dword [eax + 0x3c], edi
mov dword [eax + 0x40], edi
mov dword [eax + 0x44], edi
mov dword [eax + 0x48], edi
mov dword [eax + 0x4c], edi
mov dword [eax + 0x50], edi
mov dword [eax + 0x54], edi
mov dword [eax + 0x58], edi
mov dword [eax + 0x5c], edi
mov dword [eax + 0x60], edi
mov dword [eax + 0x64], edi
mov dword [eax + 0x68], edi
mov dword [eax + 0x6c], edi
mov dword [eax + 0x70], edi
mov dword [eax + 0x74], edi
mov dword [eax + 0x78], edi
mov dword [eax + 0x7c], edi
mov eax, dword [ebx + 0x96]
test eax, eax
je 0x5246d6
inc dword [ebx + 0x20]
inc dword [esp + 0x1c]
mov edi, dword [ebx + 0x10]
mov eax, dword [ebx + 0x44]
mov dword [esp], eax
lea ecx, [esp + 0xa8]
push 0x80
mov edx, esi
call fcn.004f6404
mov eax, dword [esp]
test eax, eax
je 0x524526
cmp esi, dword [edi + 0x14]
jb 0x524526
lea ecx, [esp + 0xa8]
mov edx, eax
call fcn.0054682c
lea eax, [esp + 0xa8]
push 0
push 0x80
push ebp
push eax
mov ecx, dword [edi + 0xc]
call fcn.00527284
mov eax, dword [ebx + 0x24]
dec eax
mov dword [ebx + 0x24], eax
je 0x524806
mov ecx, dword [ebx + 0x18]
call fcn.00504d14
cmp eax, 0x10006
je 0x5247e9
add ebp, 0x80
inc esi
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x80]
cmp esi, eax
jb 0x524423
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov dword [esp], edx
jmp 0x52429e
xor edx, edx
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x5245f8
lea edi, [edx + edx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add esi, edx
mov dword [esp + 0x24], ebp
mov dword [esp + 8], ebx
mov ebp, edx
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5245c6
mov ebx, dword [esp + 4]
lea ebx, [ebx + edi]
mov ecx, ebx
mov edx, eax
call fcn.00546862
jmp 0x5245cd
mov eax, dword [esp + 4]
lea ebx, [eax + edi]
push 0x80
mov ecx, ebx
mov edx, esi
call fcn.004f64a8
cmp eax, 1
je 0x52478e
add edi, 0x80
inc esi
inc ebp
mov eax, dword [esp + 0x20]
cmp ebp, eax
jl 0x5245ac
mov ebx, dword [esp + 8]
mov esi, dword [esp + 4]
mov ebp, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
add eax, ebp
cmp ebp, eax
jae 0x524751
mov dword [esp + 8], ebx
jmp 0x52461a
inc dword [esp]
mov eax, dword [esp + 8]
inc dword [eax + 0x20]
mov ebx, dword [eax + 0x10]
mov edi, dword [eax + 0x44]
push 0x80
mov ecx, esi
mov edx, ebp
call fcn.004f6404
test edi, edi
je 0x524647
cmp ebp, dword [ebx + 0x14]
jb 0x524647
mov ecx, esi
mov edx, edi
call fcn.0054682c
lea eax, [ebp + ebp]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
add eax, eax
add eax, eax
push 0
push 0x80
push eax
push esi
mov ecx, dword [ebx + 0xc]
call fcn.00527284
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0x24]
dec ebx
mov dword [eax + 0x24], ebx
je 0x524778
mov ecx, dword [eax + 0x18]
call fcn.00504d14
cmp eax, 0x10006
je 0x52475f
add esi, 0x80
inc ebp
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x80]
cmp ebp, eax
jb 0x524617
jmp 0x52474a
mov ecx, 0x1c
call fcn.004dbd80
mov esi, eax
test esi, esi
je 0x5246cc
push 0
mov ecx, esi
call fcn.0050946c
mov dword [esi], 0x624f00
jmp 0x5246ce
xor esi, esi
mov dword [ebx + 0x10], esi
jmp 0x524337
mov dword [ebx + 0x96], 1
mov ecx, ebx
call fcn.005262cc
cmp eax, 1
jne 0x5244e9
mov eax, 1
add esp, 0x128
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 4]
test eax, eax
je 0x524720
mov eax, dword [esp]
cmp eax, dword [edi + 0x14]
jb 0x524720
lea ecx, [esp + 0xa8]
mov edx, dword [esp + 4]
call fcn.00546862
lea ecx, [esp + 0xa8]
push 0x80
mov edx, dword [esp + 4]
call fcn.004f64a8
cmp eax, 1
jne 0x5244e9
mov dword [edi + 4], 0x2003
jmp 0x524473
mov ebx, dword [esp + 8]
inc dword [esp]
mov ecx, dword [esp + 4]
call fcn.004dbc10
jmp 0x52429e
mov ecx, dword [esp + 4]
call fcn.004dbc10
mov eax, 1
add esp, 0x128
pop ebx
pop ebp
pop esi
pop edi
ret
mov ecx, dword [esp + 4]
call fcn.004dbc10
xor eax, eax
add esp, 0x128
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 8]
mov dword [ebp + 4], 0x2003
jmp 0x5243f6
mov dword [ebp + 4], 0x2003
jmp 0x524287
mov ecx, ebx
mov eax, dword [ecx + 0x96]
test eax, eax
jne 0x5247c9
mov dword [ecx + 0x96], 1
call fcn.005262cc
mov eax, 1
add esp, 0x128
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 1
add esp, 0x128
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 1
add esp, 0x128
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
add esp, 0x128
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
add esp, 0x128
pop ebx
pop ebp
pop esi
pop edi
ret