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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x7c
call fcn.00596bf0
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 0x498a5c
mov esi, dword [ebp + 8]
mov edi, str.BAD_RECURSION_DEPTH_n
call fcn.00414850
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 0x4993cc
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.004421f0
add esp, 0x14
mov dword [esp + 0x3c], eax
test al, al
js 0x499375
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.0041f490
add esp, 0xc
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x3c], 0x21
je 0x498b02
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.0041f490
add esp, 0x14
jmp 0x498b19
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.0041f490
add esp, 0x10
test eax, eax
jle 0x4993d4
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.004988d0
add esp, 0x10
test eax, eax
je 0x4993d4
test byte [esp + 0x3c], 0x20
je 0x498c67
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 0x5f5c70
mov ecx, 1
mov edi, ebx
mov dword [esp + 0x34], eax
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x48], 0
jle 0x4993d4
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
cmp eax, ecx
jg 0x4993a9
cmp dword [esp + 0x3c], 0x21
jne 0x498c0b
test eax, eax
jne 0x498c0b
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.00498a10
add esp, 0x1c
test eax, eax
je 0x49939f
cmp eax, 2
mov eax, dword [esp + 0x14]
je 0x498bfc
cmp eax, edi
jb 0x498bc0
mov ecx, eax
sub ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
jmp 0x499360
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
cmp eax, dword [esp + 0x38]
jae 0x499360
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.00498a10
add esp, 0x1c
test eax, eax
je 0x49939f
mov eax, dword [esp + 0x14]
sub edi, eax
add esi, edi
cmp eax, dword [esp + 0x38]
jb 0x498c25
jmp 0x499360
test esi, esi
je 0x498ca8
mov eax, dword [esp + 0x10]
add dword [esp + 0x14], eax
lea ecx, [esp + 0x50]
push ecx
push 0x5f5c70
mov ecx, 1
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x50], 0
jle 0x4993d4
mov eax, dword [esp + 0x14]
jmp 0x499360
mov esi, dword [esp + 0x18]
mov dword [esp + 0x3c], 0
cmp esi, 0x13
je 0x499255
cmp esi, 0x14
je 0x499255
cmp esi, 0x16
je 0x499255
cmp esi, 0x1a
je 0x499255
cmp esi, 0x12
je 0x499255
cmp esi, 0xc
je 0x499255
cmp esi, 0x17
je 0x499255
cmp esi, 0x18
je 0x499255
cmp esi, 6
jne 0x498d87
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.0041a000
add esp, 4
test eax, eax
je 0x498d66
lea eax, [esp + 0x54]
push eax
push 0x5ad944
mov ecx, 1
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x54], 0
jle 0x4993d4
mov edx, dword [esp + 0x40]
mov ecx, ebx
call fcn.00419e70
jmp 0x4992a2
mov edi, str.:BAD_OBJECT
mov esi, ebx
call fcn.00414850
test eax, eax
jle 0x4993d4
mov dword [esp + 0x34], 1
jmp 0x4992ad
cmp esi, 1
jne 0x498dd8
cmp dword [esp + 0x10], esi
je 0x498db2
mov edi, str.:BAD_BOOLEAN
mov esi, ebx
call fcn.00414850
test eax, eax
jle 0x4993d4
mov esi, dword [esp + 0x18]
mov dword [esp + 0x34], 1
cmp dword [esp + 0x10], 0
jle 0x4992a6
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx]
push edx
push 0x605044
push ebx
call fcn.0041f490
add esp, 0xc
jmp 0x4992a6
cmp esi, 0x1e
je 0x4992a6
cmp esi, 4
jne 0x498f7a
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.00443850
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x498f66
cmp dword [eax], 0
jle 0x498f66
mov esi, dword [eax + 8]
mov dword [esp + 0x1c], esi
mov edx, dword [eax]
xor ecx, ecx
test edx, edx
jle 0x498e4c
lea esp, [esp]
mov al, byte [ecx + esi]
cmp al, 0x20
jae 0x498e43
cmp al, 0xa
je 0x498e43
cmp al, 0xd
je 0x498e43
cmp al, 9
jne 0x498e94
cmp al, 0x7e
ja 0x498e94
inc ecx
cmp ecx, edx
jl 0x498e30
lea eax, [esp + 0x58]
push eax
push 0x5ad944
mov ecx, 1
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x58], 0
jle 0x4993d4
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x1c]
call fcn.00414820
test eax, eax
jle 0x4993d4
jmp 0x498f5e
cmp dword [ebp + 0x20], 0
mov edi, ebx
jne 0x498efe
lea edx, [esp + 0x5c]
push edx
push str._HEX_DUMP_:
mov ecx, 0xb
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x5c], 0
jle 0x4993d4
mov eax, dword [esp + 0x20]
xor esi, esi
cmp dword [eax], esi
jle 0x498f62
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esi + eax]
push ecx
push 0x5f6a34
push ebx
call fcn.0041f490
add esp, 0xc
test eax, eax
jle 0x4993d4
mov eax, dword [esp + 0x20]
inc esi
cmp esi, dword [eax]
jl 0x498ed4
jmp 0x498f62
lea edx, [esp + 0x60]
push edx
push 0x5f5c70
mov ecx, 1
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x60], 0
jle 0x4993d4
mov eax, dword [ebp + 0x20]
cmp eax, 0xffffffff
je 0x498f38
mov ecx, dword [esp + 0x20]
cmp eax, dword [ecx]
jle 0x498f3e
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov ecx, dword [esp + 0x1c]
push 6
push eax
push ebx
call fcn.00444340
add esp, 0xc
test eax, eax
jle 0x4993d4
mov dword [esp + 0x3c], 1
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ecx, eax
call fcn.004438e0
mov dword [esp + 0x20], 0
jmp 0x4992a6
cmp esi, 2
jne 0x4990a5
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.00443910
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x49906f
lea ecx, [esp + 0x64]
push ecx
push 0x5ad944
lea ecx, [esi - 1]
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x64], 0
jle 0x4993d4
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0x102
jne 0x49900f
lea edx, [esp + 0x68]
push edx
push 0x5f78cc
lea ecx, [esi - 1]
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x68], 0
jle 0x4993d4
mov eax, dword [esp + 0x24]
xor esi, esi
cmp dword [eax], esi
jle 0x49903c
mov eax, dword [eax + 8]
movzx ecx, byte [esi + eax]
push ecx
push 0x5f6a34
push ebx
call fcn.0041f490
add esp, 0xc
test eax, eax
jle 0x4993d4
mov eax, dword [esp + 0x24]
inc esi
cmp esi, dword [eax]
jl 0x499015
cmp dword [eax], 0
jne 0x49908f
lea edx, [esp + 0x6c]
push edx
push 0x605054
mov ecx, 2
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x6c], 0
jle 0x4993d4
jmp 0x49908b
mov edi, str.:BAD_INTEGER
mov esi, ebx
call fcn.00414850
test eax, eax
jle 0x4993d4
mov dword [esp + 0x34], 1
mov eax, dword [esp + 0x24]
push eax
call fcn.004439a0
add esp, 4
mov dword [esp + 0x24], 0
jmp 0x4992a2
cmp esi, 0xa
jne 0x4991e0
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.004439d0
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
je 0x4991ae
lea ecx, [esp + 0x70]
push ecx
push 0x5ad944
lea ecx, [esi - 9]
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x70], 0
jle 0x4993d4
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0x10a
jne 0x49913a
lea edx, [esp + 0x74]
push edx
push 0x5f78cc
lea ecx, [esi - 9]
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x74], 0
jle 0x4993d4
mov ecx, dword [esp + 0x28]
xor esi, esi
cmp dword [ecx], esi
jle 0x499167
mov eax, dword [ecx + 8]
movzx ecx, byte [esi + eax]
push ecx
push 0x5f6a34
push ebx
call fcn.0041f490
add esp, 0xc
test eax, eax
jle 0x4993d4
mov ecx, dword [esp + 0x28]
inc esi
cmp esi, dword [ecx]
jl 0x499140
cmp dword [ecx], 0
jne 0x4991ce
lea edx, [esp + 0x78]
push edx
push 0x605054
mov ecx, 2
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x78], 0
jle 0x4993d4
mov ecx, dword [esp + 0x28]
call fcn.004438e0
mov dword [esp + 0x28], 0
jmp 0x4992a2
mov edi, str.:BAD_ENUMERATED
mov esi, ebx
call fcn.00414850
test eax, eax
jle 0x4993d4
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], 1
call fcn.004438e0
mov dword [esp + 0x28], 0
jmp 0x4992a2
cmp dword [esp + 0x10], 0
jle 0x4992a6
cmp dword [ebp + 0x20], 0
je 0x4992a6
lea eax, [esp + 0x7c]
push eax
push 0x5f5c70
mov ecx, 1
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x7c], 0
jle 0x4993d4
mov eax, dword [ebp + 0x20]
cmp eax, 0xffffffff
je 0x49922f
cmp eax, dword [esp + 0x10]
jle 0x499233
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 6
push eax
push ebx
call fcn.00444340
add esp, 0xc
test eax, eax
jle 0x4993d4
mov dword [esp + 0x3c], 1
jmp 0x4992a2
lea ecx, [esp + 0x80]
push ecx
push 0x5ad944
mov ecx, 1
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x80], 0
jle 0x4993d4
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x4992a2
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.00414820
cmp eax, esi
jne 0x4993d4
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x34], 0
je 0x499313
mov edx, dword [esp + 0x2c]
add edx, dword [esp + 0x38]
mov edi, 0x605078
mov esi, ebx
mov dword [esp + 0x38], edx
call fcn.00414850
test eax, eax
jle 0x4993d4
xor esi, esi
cmp dword [esp + 0x10], esi
jle 0x4992fb
mov ecx, dword [esp + 0x38]
movzx edx, byte [esi + ecx]
push edx
push 0x5f6a34
push ebx
call fcn.0041f490
add esp, 0xc
test eax, eax
jle 0x4993d4
inc esi
cmp esi, dword [esp + 0x10]
jl 0x4992d5
mov edi, 0x60507c
mov esi, ebx
call fcn.00414850
test eax, eax
jle 0x4993d4
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x3c], 0
jne 0x499350
lea eax, [esp + 0x84]
push eax
push 0x5f5c70
mov ecx, 1
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x84], 0
jle 0x4993d4
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
test esi, esi
je 0x4993c2
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esp + 0x10]
mov dword [ebp + 0x10], ecx
test ecx, ecx
jle 0x4993cc
mov esi, ecx
jmp 0x498a80
lea ecx, [esp + 0x84]
push ecx
push str.Error_in_encoding_n
mov ecx, 0x12
mov edi, ebx
call fcn.00414720
add esp, 8
test eax, eax
jle 0x4993d4
cmp dword [esp + 0x84], 0
jle 0x4993d4
mov dword [esp + 0x30], 0
jmp 0x4993d4
push ecx
push str.length_is_greater_than__ld_n
push ebx
call fcn.0041f490
add esp, 0xc
mov dword [esp + 0x30], 0
jmp 0x4993d4
mov dword [esp + 0x30], 2
jmp 0x4993d4
mov dword [esp + 0x30], 1
mov edx, dword [esp + 0x40]
push edx
call fcn.0041a2d0
mov edi, dword [esp + 0x24]
add esp, 4
test edi, edi
je 0x4993fa
mov eax, dword [edi + 0xc]
and eax, 0x80
push eax
call fcn.004426f0
add esp, 4
mov edi, dword [esp + 0x24]
test edi, edi
je 0x499414
mov ecx, dword [edi + 0xc]
and ecx, 0x80
push ecx
call fcn.004426f0
add esp, 4
mov edi, dword [esp + 0x28]
test edi, edi
je 0x49942e
mov edx, dword [edi + 0xc]
and edx, 0x80
push edx
call fcn.004426f0
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