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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x3c
mov esi, eax
mov edx, dword [esi]
mov ebp, dword [esi + 0x4c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebp
add ebp, 0x28
mov edx, ebp
mov dword [esi + 0x2c], ebp
je 0x48fda0
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x1e]
mov ecx, dword [esp + 0x34]
lea ecx, [ecx + 0x168]
cmp ebp, ecx
jae 0x48fd9d
mov dword [esp + 0x18], eax
mov ebx, 1
mov dword [esp + 0x1c], ebp
mov ebp, edx
mov dword [esp + 0x14], esi
mov esi, ecx
movzx eax, word [ebp + 0x1c]
test eax, 0x2460
jne 0x48fd69
mov edx, dword [ebp + 0x24]
test edx, edx
je 0x48fd86
cmp edx, dword [edi + 0xf0]
jb 0x48ffaf
cmp edx, dword [edi + 0xf4]
jae 0x48ffaf
mov eax, dword [edi + 0xec]
mov dword [edx], eax
mov dword [edi + 0xec], edx
dec dword [edi + 0xe4]
mov dword [ebp + 0x24], 0
jmp 0x48fd86
mov eax, ebp
call fcn.00498e60
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x24]
call fcn.004e33d8
xor eax, eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x20], eax
mov word [ebp + 0x1c], bx
add ebp, 0x28
cmp ebp, esi
jb 0x48fd22
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov byte [edi + 0x1e], al
cmp dword [esi + 0x58], 7
je 0x49034e
mov ebx, dword [esi + 0xc]
movzx eax, byte [esi + 0x60]
cmp eax, 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], eax
je 0x4902c8
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], eax
mov edx, dword [esi + 0x54]
mov eax, edx
lea ecx, [edx + 1]
mov dword [esi + 0x54], ecx
mov ecx, ebx
sub ecx, edx
cmp edx, ebx
jge 0x48fe2b
mov dword [esp + 0x18], 0
cmp dword [esp + 0x2c], 2
jne 0x48fe2b
mov dword [esp + 0x14], ebx
mov edi, dword [esi + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov ebp, edi
lea edi, [eax + eax*4]
movzx edi, byte [ebp + edi*4]
cmp edi, 0x86
je 0x48fe23
lea eax, [edx + ebx + 1]
lea edi, [edx + ebx + 2]
inc ebx
mov dword [esi + 0x54], edi
cmp ebx, ecx
jb 0x48fe03
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
cmp eax, ebx
jl 0x48fe43
mov dword [esi + 0x58], 0
mov eax, 0x65
add esp, 0x3c
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0xd8]
test ecx, ecx
jne 0x490294
cmp eax, dword [esp + 0x30]
jge 0x48fe66
lea ecx, [eax + eax*4]
mov edx, dword [esi + 0x14]
lea ebx, [edx + ecx*4]
jmp 0x48fe94
sub eax, dword [esp + 0x30]
xor edx, edx
mov ecx, dword [esp + 0x28]
mov ebx, dword [ecx]
cmp eax, dword [ebx + 4]
jl 0x49028b
mov ebx, ecx
mov ecx, dword [ebx + edx*4]
inc edx
sub eax, dword [ecx + 4]
mov ecx, dword [ebx + edx*4]
cmp eax, dword [ecx + 4]
jge 0x48fe7d
lea edx, [eax + eax*4]
mov ecx, dword [ecx]
lea ebx, [ecx + edx*4]
cmp dword [esp + 0x2c], 1
je 0x490081
mov edi, 4
mov ecx, 1
mov word [ebp + 0x1c], di
mov eax, dword [ebx + 4]
cdq
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov byte [ebp + 0x1e], cl
mov word [ebp + 0x44], di
mov eax, dword [ebx + 8]
lea edi, [ebp + 0x50]
cdq
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], edx
mov byte [ebp + 0x46], cl
movzx ecx, byte [esi + 0x60]
cmp ecx, 1
jne 0x48fef1
mov ecx, 4
lea edi, [ebp + 0x78]
mov word [ebp + 0x6c], cx
mov eax, dword [ebx + 0xc]
cdq
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], edx
mov byte [ebp + 0x6e], 1
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x24]
call fcn.0044dae0
cmp eax, 0x20
jge 0x48ff1c
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x24]
call fcn.004e33d8
mov eax, dword [edi + 0x10]
mov edx, 0x20
call fcn.004a76c0
mov dword [edi + 0x24], eax
movzx eax, word [edi + 0x1c]
test ah, 4
je 0x48ff32
mov eax, dword [edi + 0x20]
test eax, eax
je 0x48ff32
push dword [edi + 0x14]
call eax
pop ecx
mov edx, dword [edi + 0x24]
test edx, edx
mov dword [edi + 0x14], edx
je 0x49031a
mov dword [edi + 0x20], 0
mov ebp, 0x602
mov eax, ebx
mov word [edi + 0x1c], bp
mov ecx, 0x20
call fcn.00490420
mov edx, eax
mov ecx, dword [edi + 0x14]
cmp edx, ecx
je 0x490055
mov byte [esp + 0xc], 1
mov eax, edi
mov ecx, 0xffffffff
mov dword [esp + 0x10], 0
call fcn.004c6410
mov byte [edi + 0x1e], 3
movzx eax, byte [esi + 0x60]
cmp eax, 1
je 0x48ffbb
mov dword [esi + 0x58], 0
lea eax, [eax + eax*4]
neg eax
add eax, 0xd
mov word [esi + 0x30], ax
mov eax, 0x64
add esp, 0x3c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, edx
call fcn.004c69c4
jmp 0x48fd60
mov eax, dword [edi + 0x38]
mov edx, dword [edi + 0x4c]
call fcn.0044dae0
cmp eax, 0x20
jge 0x48ffe6
mov eax, dword [edi + 0x38]
mov edx, dword [edi + 0x4c]
call fcn.004e33d8
mov eax, dword [edi + 0x38]
mov edx, 0x20
call fcn.004a76c0
mov dword [edi + 0x4c], eax
movzx eax, word [edi + 0x44]
test ah, 4
je 0x48fffc
mov eax, dword [edi + 0x48]
test eax, eax
je 0x48fffc
push dword [edi + 0x3c]
call eax
pop ecx
mov ecx, dword [edi + 0x4c]
test ecx, ecx
mov dword [edi + 0x3c], ecx
je 0x490334
mov dword [edi + 0x48], 0
mov eax, 0x602
mov word [edi + 0x44], ax
mov dword [edi + 0x40], 2
movzx edx, byte [ebx + 3]
push edx
push str._.2x
push ecx
push 3
call fcn.0047d0b0
add esp, 0x10
mov byte [edi + 0x6e], 5
mov ebp, 0x103
mov eax, 1
mov word [edi + 0x46], bp
mov word [edi + 0x6c], ax
movzx eax, byte [esi + 0x60]
jmp 0x48ff8f
mov eax, ecx
test ecx, ecx
je 0x49007d
movsx edx, byte [ecx]
test edx, edx
je 0x49006a
inc eax
movsx edx, byte [eax]
test edx, edx
jne 0x490062
sub eax, ecx
and eax, 0x3fffffff
mov dword [edi + 0x18], eax
mov byte [edi + 0x1f], 1
jmp 0x48ff82
xor eax, eax
jmp 0x490071
mov byte [ebp + 0x1e], 1
mov ecx, 4
mov edi, 0xa02
mov word [ebp + 0x1c], cx
cdq
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x34]
mov word [edx + 0x6c], di
movzx eax, byte [ebx]
mov eax, dword [eax*4 + 0x788a60]
mov dword [edx + 0x64], eax
mov edx, eax
test eax, eax
je 0x490284
movsx ecx, byte [eax]
test ecx, ecx
je 0x4900c8
inc edx
movsx ecx, byte [edx]
test ecx, ecx
jne 0x4900c0
sub edx, eax
and edx, 0x3fffffff
mov dword [ebp + 0x40], edx
mov eax, 0x103
mov edx, dword [esp + 0x34]
mov word [ebp + 0x46], ax
lea ebp, [edx + 0x78]
cmp byte [ebx + 1], 0xee
jne 0x48fe9f
mov edx, dword [esp + 0x24]
lea eax, [edx*4 + 4]
test edx, edx
mov dword [esp + 0x18], eax
mov eax, 0
jle 0x49011a
mov edx, dword [ebx + 0x10]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
cmp edx, dword [ecx + eax*4]
je 0x49011a
inc eax
cmp eax, edi
jl 0x490110
cmp eax, dword [esp + 0x24]
jne 0x48fe9f
mov ecx, dword [esp + 0x18]
cmp ecx, 0x20
mov edi, dword [esp + 0x20]
jg 0x490136
mov ecx, 0x20
mov dword [esp + 0x18], ecx
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x24]
call fcn.0044dae0
cmp eax, dword [esp + 0x18]
jge 0x49018a
mov eax, edi
mov edx, dword [eax + 0x24]
mov edi, dword [eax + 0x14]
cmp edi, edx
je 0x490230
mov ecx, eax
mov eax, dword [ecx + 0x10]
call fcn.004e33d8
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x18]
call fcn.004a76c0
mov edx, dword [esp + 0x20]
mov dword [edx + 0x24], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x18], eax
mov eax, 1
jmp 0x490198
mov eax, edi
mov edx, dword [eax + 0x14]
mov eax, 1
mov dword [esp + 0x18], edx
cmp dword [esp + 0x18], 0
je 0x4901c4
test eax, eax
je 0x4901c4
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x24]
test edx, edx
je 0x4901c4
cmp edx, dword [esp + 0x18]
je 0x4901c4
push dword [eax + 0x18]
push dword [esp + 0x1c]
push edx
call fcn.007666b0
add esp, 0xc
mov eax, dword [esp + 0x20]
movzx eax, word [eax + 0x1c]
test ah, 4
je 0x4901ee
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 0x20]
test edx, edx
je 0x4901ee
mov eax, dword [esp + 0x20]
push dword [eax + 0x14]
call edx
pop ecx
mov eax, dword [esp + 0x20]
movzx eax, word [eax + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0x24]
test ecx, ecx
mov dword [edx + 0x14], ecx
je 0x49026f
and eax, 0xffffe7ff
mov word [edx + 0x1c], ax
mov eax, dword [esp + 0x24]
mov dword [edx + 0x20], 0
mov edi, dword [ebx + 0x10]
mov dword [ecx + eax*4], edi
movzx ecx, word [edx + 0x1c]
or ecx, 0x10
mov word [edx + 0x1c], cx
lea eax, [eax*4 + 4]
mov dword [edx + 0x18], eax
jmp 0x48fe9f
mov eax, dword [eax + 0x10]
mov edx, edi
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x18]
call fcn.00490370
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0
je 0x490262
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x24], eax
mov dword [edx + 0x14], eax
xor eax, eax
jmp 0x490198
mov eax, dword [esp + 0x14]
mov edx, edi
call fcn.004e33d8
jmp 0x49024d
mov eax, 1
mov word [edx + 0x1c], ax
mov dword [edx + 0x20], 0
jmp 0x48fe9f
xor edx, edx
jmp 0x4900d0
mov edx, ecx
mov ecx, dword [edx]
jmp 0x48fe8c
mov dword [esi + 0x58], 9
mov eax, 9
call fcn.0058dee0
push eax
add esi, 0x5c
push 0x799014
push dword [esp + 0x40]
push esi
call fcn.00497b50
add esp, 0x10
mov eax, 1
add esp, 0x3c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esi + 0x4c]
add eax, 0x168
test byte [eax + 0x1c], 0x10
mov dword [esp + 0x20], eax
je 0x49030b
mov ecx, dword [eax + 0x18]
shr ecx, 2
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 0x14]
test ecx, ecx
mov dword [esp + 0x28], edx
jle 0x48fdd0
xor eax, eax
mov ecx, edx
mov edi, dword [esp + 0x24]
mov edx, dword [ecx + eax*4]
inc eax
add ebx, dword [edx + 4]
cmp eax, edi
jl 0x4902fb
jmp 0x48fdd0
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
jmp 0x48fdd0
mov dword [edi + 0x20], 0
mov edx, 1
mov eax, edx
mov word [edi + 0x1c], dx
add esp, 0x3c
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [edi + 0x48], 0
mov edx, 1
mov eax, edx
mov word [edi + 0x44], dx
add esp, 0x3c
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x38]
mov eax, 1
mov byte [edx + 0x1e], 1
add esp, 0x3c
pop ebx
pop ebp
pop esi
pop edi
ret