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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x7c
call fcn.005e28b0
xor ecx, ecx
cmp dword [ebp + 0x18], 0x80
push ebx
push esi
push edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], ecx
jle 0x4b3f7c
mov esi, dword [ebp + 8]
mov edi, str.BAD_RECURSION_DEPTH_n
call fcn.0040db20
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov esi, dword [ebp + 0x10]
lea edx, [eax + esi]
mov dword [esp + 0x14], eax
mov dword [esp + 0x4c], edx
cmp esi, ecx
jle 0x4b4907
mov ebx, dword [ebp + 8]
lea ebx, [ebx]
mov edi, eax
push esi
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x4c], edi
call fcn.00449a70
add esp, 0x14
mov dword [esp + 0x3c], eax
test al, al
js 0x4b48b0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
sub eax, edi
sub edi, dword [ecx]
sub esi, eax
add edi, dword [ebp + 0x14]
mov dword [esp + 0x2c], eax
push edi
push str._5ld:
push ebx
mov dword [ebp + 0x10], esi
call fcn.00429420
add esp, 0xc
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x3c], 0x21
je 0x4b4022
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x18]
push edx
push eax
push ecx
push str.d__2d_hl_ld_l_4ld
push ebx
call fcn.00429420
add esp, 0x14
jmp 0x4b4039
mov edx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x18]
push edx
push eax
push str.d__2d_hl_ld_linf
push ebx
call fcn.00429420
add esp, 0x10
test eax, eax
jle 0x4b490f
mov ecx, dword [ebp + 0x1c]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
neg ecx
sbb ecx, ecx
and ecx, dword [ebp + 0x18]
push ecx
push edx
push esi
push eax
mov ecx, ebx
call fcn.004b3db0
add esp, 0x10
test eax, eax
je 0x4b490f
test byte [esp + 0x3c], 0x20
je 0x4b4187
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add ecx, eax
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x3c], ecx
push 0x699b50
mov ecx, 1
mov edi, ebx
mov dword [esp + 0x34], eax
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x48], 0
jle 0x4b490f
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
cmp eax, ecx
jg 0x4b48e4
cmp dword [esp + 0x3c], 0x21
jne 0x4b412b
test eax, eax
jne 0x4b412b
mov esi, dword [ebp + 0x18]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x4c]
inc esi
lea esp, [esp]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
push ecx
push edx
mov edx, dword [ebp + 0xc]
mov ecx, eax
sub ecx, dword [edx]
push esi
add ecx, dword [ebp + 0x14]
lea edx, [esp + 0x20]
push ecx
mov ecx, edi
sub ecx, eax
push ecx
push edx
push ebx
call fcn.004b3f30
add esp, 0x1c
test eax, eax
je 0x4b48da
cmp eax, 2
mov eax, dword [esp + 0x14]
je 0x4b411c
cmp eax, edi
jb 0x4b40e0
mov ecx, eax
sub ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
jmp 0x4b489b
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
cmp eax, dword [esp + 0x38]
jae 0x4b489b
mov ecx, dword [ebp + 0x18]
inc ecx
mov dword [esp + 0x3c], ecx
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
push edx
mov edx, dword [esp + 0x40]
push ecx
mov ecx, dword [ebp + 0xc]
mov edi, eax
sub eax, dword [ecx]
push edx
add eax, dword [ebp + 0x14]
lea edx, [esp + 0x20]
push eax
push esi
push edx
push ebx
call fcn.004b3f30
add esp, 0x1c
test eax, eax
je 0x4b48da
mov eax, dword [esp + 0x14]
sub edi, eax
add esi, edi
cmp eax, dword [esp + 0x38]
jb 0x4b4145
jmp 0x4b489b
test esi, esi
je 0x4b41c8
mov eax, dword [esp + 0x10]
add dword [esp + 0x14], eax
lea ecx, [esp + 0x50]
push ecx
push 0x699b50
mov ecx, 1
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x50], 0
jle 0x4b490f
mov eax, dword [esp + 0x14]
jmp 0x4b489b
mov esi, dword [esp + 0x18]
mov dword [esp + 0x3c], 0
cmp esi, 0x13
je 0x4b478b
cmp esi, 0x14
je 0x4b478b
cmp esi, 0x16
je 0x4b478b
cmp esi, 0x1a
je 0x4b478b
cmp esi, 0x12
je 0x4b478b
cmp esi, 0xc
je 0x4b478b
cmp esi, 0x17
je 0x4b478b
cmp esi, 0x18
je 0x4b478b
cmp esi, 6
jne 0x4b42a7
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x40]
push edx
lea esi, [esp + 0x20]
call fcn.00414750
add esp, 4
test eax, eax
je 0x4b4286
lea eax, [esp + 0x54]
push eax
push 0x698e5c
mov ecx, 1
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x54], 0
jle 0x4b490f
mov edx, dword [esp + 0x40]
mov ecx, ebx
call fcn.004145b0
jmp 0x4b47d8
mov edi, str.:BAD_OBJECT
mov esi, ebx
call fcn.0040db20
test eax, eax
jle 0x4b490f
mov dword [esp + 0x34], 1
jmp 0x4b47e3
cmp esi, 1
jne 0x4b42f8
cmp dword [esp + 0x10], esi
je 0x4b42d2
mov edi, str.:BAD_BOOLEAN
mov esi, ebx
call fcn.0040db20
test eax, eax
jle 0x4b490f
mov esi, dword [esp + 0x18]
mov dword [esp + 0x34], 1
cmp dword [esp + 0x10], 0
jle 0x4b47dc
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx]
push edx
push 0x6a93b4
push ebx
call fcn.00429420
add esp, 0xc
jmp 0x4b47dc
cmp esi, 0x1e
je 0x4b47dc
cmp esi, 4
jne 0x4b44a0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
add edx, dword [esp + 0x2c]
push 0
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
call fcn.0044b2f0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x4b448c
cmp dword [eax], 0
jle 0x4b448c
mov esi, dword [eax + 8]
mov dword [esp + 0x1c], esi
mov edx, dword [eax]
xor ecx, ecx
test edx, edx
jle 0x4b436c
lea esp, [esp]
mov al, byte [ecx + esi]
cmp al, 0x20
jae 0x4b4363
cmp al, 0xa
je 0x4b4363
cmp al, 0xd
je 0x4b4363
cmp al, 9
jne 0x4b43b4
cmp al, 0x7e
ja 0x4b43b4
inc ecx
cmp ecx, edx
jl 0x4b4350
lea eax, [esp + 0x58]
push eax
push 0x698e5c
mov ecx, 1
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x58], 0
jle 0x4b490f
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x1c]
call fcn.0040dad0
test eax, eax
jle 0x4b490f
jmp 0x4b4484
cmp dword [ebp + 0x20], 0
mov edi, ebx
jne 0x4b441e
lea edx, [esp + 0x5c]
push edx
push str._HEX_DUMP_:
mov ecx, 0xb
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x5c], 0
jle 0x4b490f
mov eax, dword [esp + 0x20]
xor esi, esi
cmp dword [eax], esi
jle 0x4b4488
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esi + eax]
push ecx
push 0x69aab0
push ebx
call fcn.00429420
add esp, 0xc
test eax, eax
jle 0x4b490f
mov eax, dword [esp + 0x20]
inc esi
cmp esi, dword [eax]
jl 0x4b43f4
jmp 0x4b4488
lea edx, [esp + 0x60]
push edx
push 0x699b50
mov ecx, 1
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x60], 0
jle 0x4b490f
mov eax, dword [ebp + 0x20]
cmp eax, 0xffffffff
je 0x4b4458
mov ecx, dword [esp + 0x20]
cmp eax, dword [ecx]
jle 0x4b445e
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov edx, dword [esp + 0x1c]
push 6
push eax
push 0x44d1e0
mov ecx, ebx
call fcn.0044cf30
add esp, 0xc
test eax, eax
jle 0x4b490f
mov dword [esp + 0x3c], 1
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ecx, eax
call fcn.0044b3b0
mov dword [esp + 0x20], 0
jmp 0x4b47dc
cmp esi, 2
jne 0x4b45d0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
call fcn.0044b3e0
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x4b459a
lea ecx, [esp + 0x64]
push ecx
push 0x698e5c
lea ecx, [esi - 1]
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x64], 0
jle 0x4b490f
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0x102
jne 0x4b4535
lea edx, [esp + 0x68]
push edx
push 0x69b9fc
lea ecx, [esi - 1]
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x68], 0
jle 0x4b490f
mov eax, dword [esp + 0x24]
xor esi, esi
cmp dword [eax], esi
jle 0x4b4567
jmp 0x4b4540
mov eax, dword [eax + 8]
movzx ecx, byte [esi + eax]
push ecx
push 0x69aab0
push ebx
call fcn.00429420
add esp, 0xc
test eax, eax
jle 0x4b490f
mov eax, dword [esp + 0x24]
inc esi
cmp esi, dword [eax]
jl 0x4b4540
cmp dword [eax], 0
jne 0x4b45ba
lea edx, [esp + 0x6c]
push edx
push 0x6a93c4
mov ecx, 2
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x6c], 0
jle 0x4b490f
jmp 0x4b45b6
mov edi, str.:BAD_INTEGER
mov esi, ebx
call fcn.0040db20
test eax, eax
jle 0x4b490f
mov dword [esp + 0x34], 1
mov eax, dword [esp + 0x24]
push eax
call fcn.0044b4a0
add esp, 4
mov dword [esp + 0x24], 0
jmp 0x4b47d8
cmp esi, 0xa
jne 0x4b4710
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
call fcn.0044b4d0
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
je 0x4b46de
lea ecx, [esp + 0x70]
push ecx
push 0x698e5c
lea ecx, [esi - 9]
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x70], 0
jle 0x4b490f
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0x10a
jne 0x4b4665
lea edx, [esp + 0x74]
push edx
push 0x69b9fc
lea ecx, [esi - 9]
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x74], 0
jle 0x4b490f
mov ecx, dword [esp + 0x28]
xor esi, esi
cmp dword [ecx], esi
jle 0x4b4697
jmp 0x4b4670
mov eax, dword [ecx + 8]
movzx ecx, byte [esi + eax]
push ecx
push 0x69aab0
push ebx
call fcn.00429420
add esp, 0xc
test eax, eax
jle 0x4b490f
mov ecx, dword [esp + 0x28]
inc esi
cmp esi, dword [ecx]
jl 0x4b4670
cmp dword [ecx], 0
jne 0x4b46fe
lea edx, [esp + 0x78]
push edx
push 0x6a93c4
mov ecx, 2
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x78], 0
jle 0x4b490f
mov ecx, dword [esp + 0x28]
call fcn.0044b590
mov dword [esp + 0x28], 0
jmp 0x4b47d8
mov edi, str.:BAD_ENUMERATED
mov esi, ebx
call fcn.0040db20
test eax, eax
jle 0x4b490f
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], 1
call fcn.0044b590
mov dword [esp + 0x28], 0
jmp 0x4b47d8
cmp dword [esp + 0x10], 0
jle 0x4b47dc
cmp dword [ebp + 0x20], 0
je 0x4b47dc
lea eax, [esp + 0x7c]
push eax
push 0x699b50
mov ecx, 1
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x7c], 0
jle 0x4b490f
mov eax, dword [ebp + 0x20]
cmp eax, 0xffffffff
je 0x4b475f
cmp eax, dword [esp + 0x10]
jle 0x4b4763
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 6
push eax
push 0x44d1e0
mov ecx, ebx
call fcn.0044cf30
add esp, 0xc
test eax, eax
jle 0x4b490f
mov dword [esp + 0x3c], 1
jmp 0x4b47d8
lea ecx, [esp + 0x80]
push ecx
push 0x698e5c
mov ecx, 1
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x80], 0
jle 0x4b490f
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x4b47d8
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.0040dad0
cmp eax, esi
jne 0x4b490f
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x34], 0
je 0x4b484e
mov edx, dword [esp + 0x2c]
add edx, dword [esp + 0x38]
mov edi, 0x6a93e8
mov esi, ebx
mov dword [esp + 0x38], edx
call fcn.0040db20
test eax, eax
jle 0x4b490f
xor esi, esi
cmp dword [esp + 0x10], esi
jle 0x4b4836
jmp 0x4b4810
mov ecx, dword [esp + 0x38]
movzx edx, byte [esi + ecx]
push edx
push 0x69aab0
push ebx
call fcn.00429420
add esp, 0xc
test eax, eax
jle 0x4b490f
inc esi
cmp esi, dword [esp + 0x10]
jl 0x4b4810
mov edi, 0x6a93ec
mov esi, ebx
call fcn.0040db20
test eax, eax
jle 0x4b490f
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x3c], 0
jne 0x4b488b
lea eax, [esp + 0x84]
push eax
push 0x699b50
mov ecx, 1
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x84], 0
jle 0x4b490f
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
test esi, esi
je 0x4b48fd
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esp + 0x10]
mov dword [ebp + 0x10], ecx
test ecx, ecx
jle 0x4b4907
mov esi, ecx
jmp 0x4b3fa0
lea ecx, [esp + 0x84]
push ecx
push str.Error_in_encoding_n
mov ecx, 0x12
mov edi, ebx
call fcn.0040d9d0
add esp, 8
test eax, eax
jle 0x4b490f
cmp dword [esp + 0x84], 0
jle 0x4b490f
mov dword [esp + 0x30], 0
jmp 0x4b490f
push ecx
push str.length_is_greater_than__ld_n
push ebx
call fcn.00429420
add esp, 0xc
mov dword [esp + 0x30], 0
jmp 0x4b490f
mov dword [esp + 0x30], 2
jmp 0x4b490f
mov dword [esp + 0x30], 1
mov edx, dword [esp + 0x40]
push edx
call fcn.00414a20
mov edi, dword [esp + 0x24]
add esp, 4
test edi, edi
je 0x4b4935
mov eax, dword [edi + 0xc]
and eax, 0x80
push eax
call fcn.0044a000
add esp, 4
mov edi, dword [esp + 0x24]
test edi, edi
je 0x4b494f
mov ecx, dword [edi + 0xc]
and ecx, 0x80
push ecx
call fcn.0044a000
add esp, 4
mov edi, dword [esp + 0x28]
test edi, edi
je 0x4b4969
mov edx, dword [edi + 0xc]
and edx, 0x80
push edx
call fcn.0044a000
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
pop edi
pop esi
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
pop ebx
mov esp, ebp
pop ebp
ret