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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x515740
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x5937d0]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov eax, dword [0x5937d0]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov edi, dword [esi]
cmp byte [edi], 0x22
jne 0x4c93cf
xor ebx, ebx
mov edi, 0xf
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
mov dword [esp + 0xc0], ebx
inc dword [esi]
lea eax, [esp + 0x64]
call fcn.004cfbb0
test al, al
jne 0x4c9344
mov dword [esp + 0xc0], 0xffffffff
cmp dword [esp + 0x7c], 0x10
jb 0x4c9333
mov eax, dword [esp + 0x68]
push eax
call fcn.004d0c7b
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
jmp 0x4ca10e
push 0x68
call fcn.004d0c4c
mov esi, eax
add esp, 4
mov dword [esp + 0x2c], esi
mov byte [esp + 0xc0], 1
cmp esi, ebx
je 0x4c939b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x88]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.004c77d8
mov byte [esp + 0xdc], 2
mov byte [esp + 0xdc], 1
call fcn.004ca2b0
mov esi, eax
jmp 0x4c939d
xor esi, esi
mov dword [esp + 0xc0], 0xffffffff
cmp dword [esp + 0x7c], 0x10
jb 0x4c93bc
mov eax, dword [esp + 0x68]
push eax
call fcn.004d0c7b
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
mov eax, esi
jmp 0x4ca110
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c93d4
sub eax, edx
cmp eax, 4
jb 0x4c93f6
push 4
push str.true
push edi
call fcn.00503030
add esp, 0xc
test eax, eax
je 0x4c9426
mov edx, dword [esi]
mov eax, edx
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c9400
sub eax, edi
cmp eax, 5
jb 0x4c9497
push 5
push str.false
push edx
call fcn.00503030
add esp, 0xc
test eax, eax
jne 0x4c9497
mov ecx, dword [esi]
push 4
push str.true
push ecx
call fcn.00503030
add esp, 0xc
test eax, eax
sete al
xor edx, edx
test al, al
sete dl
push 0x68
mov byte [esp + 0x30], al
add edx, 4
add dword [esi], edx
call fcn.004d0c4c
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xc0], 3
test eax, eax
je 0x4c9485
mov ecx, dword [esp + 0x2c]
push ecx
push eax
call fcn.004ca370
mov dword [esp + 0xc0], 0xffffffff
jmp 0x4ca110
xor eax, eax
mov dword [esp + 0xc0], 0xffffffff
jmp 0x4ca110
mov edx, dword [esi]
mov eax, edx
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c94a0
sub eax, edi
cmp eax, 4
jb 0x4c94f8
push 4
push str.null
push edx
call fcn.00503030
add esp, 0xc
test eax, eax
jne 0x4c94f8
add dword [esi], 4
push 0x68
call fcn.004d0c4c
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xc0], 4
test eax, eax
je 0x4c9485
push eax
call fcn.004ca140
mov dword [esp + 0xc0], 0xffffffff
jmp 0x4ca110
mov ecx, dword [esi]
mov al, byte [ecx]
cmp al, 0x2d
je 0x4c9fbe
cmp al, 0x30
jl 0x4c9510
cmp al, 0x39
jle 0x4c9fbc
cmp al, 0x7b
jne 0x4c9bb7
lea edx, [esp + 0x3c]
push edx
call fcn.004c7504
mov dword [esp + 0xc0], 6
inc dword [esi]
mov eax, dword [esi]
cmp byte [eax], 0
je 0x4c96a9
lea ebx, [ebx]
mov edx, esi
call fcn.004cfb80
test al, al
je 0x4c970b
xor edi, edi
cmp dword [esp + 0x58], edi
jne 0x4c9562
mov eax, dword [esi]
cmp byte [eax], 0x7d
je 0x4c976b
mov ebx, 0xf
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], edi
mov byte [esp + 0x68], 0
mov byte [esp + 0xc0], 9
inc dword [esi]
lea eax, [esp + 0x64]
call fcn.004cfbb0
test al, al
je 0x4c97d5
mov edx, esi
call fcn.004cfb80
test al, al
je 0x4c9871
mov eax, dword [esi]
mov cl, byte [eax]
inc eax
mov dword [esi], eax
cmp cl, 0x3a
jne 0x4c98ca
mov edx, esi
call fcn.004cfb80
test al, al
je 0x4c992b
push esi
call fcn.004c92a0
add esp, 4
mov dword [esp + 0x2c], eax
cmp eax, edi
je 0x4c998b
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x60]
mov dword [esp + 0x2c], edx
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.004c76c6
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x4c95fe
cmp eax, ebx
je 0x4c9603
call fcn.004fb38f
mov eax, dword [esp + 0x28]
cmp dword [edi + 4], eax
je 0x4c9630
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x40]
push edx
call fcn.004c7537
mov edi, dword [eax]
test edi, edi
je 0x4c9630
push edi
call fcn.004ca5d0
push edi
call fcn.004d0c7b
add esp, 4
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.004c7537
mov edx, dword [esp + 0x2c]
mov dword [eax], edx
mov edx, esi
call fcn.004cfb80
test al, al
je 0x4c99eb
mov eax, dword [esi]
mov cl, byte [eax]
cmp cl, 0x7d
je 0x4c9a78
cmp cl, 0x2c
jne 0x4c9b13
inc eax
mov dword [esi], eax
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4c9689
mov eax, dword [esp + 0x68]
push eax
call fcn.004d0c7b
add esp, 4
mov ecx, dword [esi]
cmp byte [ecx], 0
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
jne 0x4c9540
mov edx, dword [esp + 0x54]
mov ecx, dword [edx]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
jmp 0x4c96c0
mov esi, dword [esp + 0x54]
test eax, eax
je 0x4c96ce
cmp eax, dword [esp + 0x3c]
je 0x4c96d3
call fcn.004fb38f
cmp dword [esp + 0x28], esi
je 0x4c9857
lea esi, [esp + 0x24]
call fcn.004c7caa
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4c96fc
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004c83cb
mov eax, dword [esp + 0x24]
jmp 0x4c96c0
mov edx, dword [esp + 0x54]
mov ecx, dword [edx]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov esi, dword [esp + 0x54]
test eax, eax
je 0x4c972e
cmp eax, dword [esp + 0x3c]
je 0x4c9733
call fcn.004fb38f
cmp dword [esp + 0x28], esi
je 0x4c9857
lea esi, [esp + 0x24]
call fcn.004c7caa
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4c975c
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004c83cb
mov eax, dword [esp + 0x24]
jmp 0x4c9720
inc dword [esi]
push 0x68
call fcn.004d0c4c
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov bl, 7
mov byte [esp + 0xc0], bl
cmp esi, edi
je 0x4c97b7
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x4c], esp
lea edx, [esp + 0x5c]
push edx
push ecx
call fcn.004c723e
mov byte [esp + 0xe0], 8
push esi
mov byte [esp + 0xe4], bl
call fcn.004ca530
mov esi, eax
jmp 0x4c97b9
xor esi, esi
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0xc4], 0xffffffff
call fcn.004c6dfe
mov eax, esi
jmp 0x4ca110
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0x54]
cmp eax, edi
je 0x4c97f5
cmp eax, dword [esp + 0x3c]
je 0x4c97fa
call fcn.004fb38f
cmp dword [esp + 0x28], esi
je 0x4c982e
lea esi, [esp + 0x24]
call fcn.004c7caa
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4c981f
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004c83cb
mov eax, dword [esp + 0x24]
jmp 0x4c97e7
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4c984a
mov edx, dword [esp + 0x68]
push edx
call fcn.004d0c7b
add esp, 4
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], edi
mov byte [esp + 0x68], 0
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0xc4], 0xffffffff
call fcn.004c6dfe
jmp 0x4ca10e
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0x54]
cmp eax, edi
je 0x4c9891
cmp eax, dword [esp + 0x3c]
je 0x4c9896
call fcn.004fb38f
cmp dword [esp + 0x28], esi
je 0x4c982e
lea esi, [esp + 0x24]
call fcn.004c7caa
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4c98bb
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004c83cb
mov eax, dword [esp + 0x24]
jmp 0x4c9883
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
lea esp, [esp]
mov esi, dword [esp + 0x54]
cmp eax, edi
je 0x4c98ee
cmp eax, dword [esp + 0x3c]
je 0x4c98f3
call fcn.004fb38f
cmp dword [esp + 0x28], esi
je 0x4c982e
lea esi, [esp + 0x24]
call fcn.004c7caa
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4c991c
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004c83cb
mov eax, dword [esp + 0x24]
jmp 0x4c98e0
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov esi, dword [esp + 0x54]
cmp eax, edi
je 0x4c994e
cmp eax, dword [esp + 0x3c]
je 0x4c9953
call fcn.004fb38f
cmp dword [esp + 0x28], esi
je 0x4c982e
lea esi, [esp + 0x24]
call fcn.004c7caa
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4c997c
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004c83cb
mov eax, dword [esp + 0x24]
jmp 0x4c9940
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov esi, dword [esp + 0x54]
cmp eax, edi
je 0x4c99ae
cmp eax, dword [esp + 0x3c]
je 0x4c99b3
call fcn.004fb38f
cmp dword [esp + 0x28], esi
je 0x4c982e
lea esi, [esp + 0x24]
call fcn.004c7caa
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4c99dc
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004c83cb
mov eax, dword [esp + 0x24]
jmp 0x4c99a0
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov esi, dword [esp + 0x54]
test eax, eax
je 0x4c9a0e
cmp eax, dword [esp + 0x3c]
je 0x4c9a13
call fcn.004fb38f
cmp dword [esp + 0x28], esi
je 0x4c9a47
lea esi, [esp + 0x24]
call fcn.004c7caa
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4c9a38
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004c83cb
mov eax, dword [esp + 0x24]
jmp 0x4c9a00
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4c9a63
mov edx, dword [esp + 0x68]
push edx
call fcn.004d0c7b
add esp, 4
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
jmp 0x4c9852
inc dword [esi]
push 0x68
call fcn.004d0c4c
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov bl, 0xa
mov byte [esp + 0xc0], bl
test esi, esi
je 0x4c9ac4
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x4c], esp
lea edx, [esp + 0x5c]
push edx
push ecx
call fcn.004c723e
mov byte [esp + 0xe0], 0xb
push esi
mov byte [esp + 0xe4], bl
call fcn.004ca530
mov esi, eax
jmp 0x4c9ac6
xor esi, esi
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4c9ae2
mov eax, dword [esp + 0x68]
push eax
call fcn.004d0c7b
add esp, 4
lea ecx, [esp + 0x3c]
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
push ecx
mov dword [esp + 0xc4], 0xffffffff
call fcn.004c6dfe
mov eax, esi
jmp 0x4ca110
mov edx, dword [esp + 0x54]
mov ecx, dword [edx]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0x54]
test eax, eax
je 0x4c9b33
cmp eax, dword [esp + 0x3c]
je 0x4c9b38
call fcn.004fb38f
cmp dword [esp + 0x28], esi
je 0x4c9b6c
lea esi, [esp + 0x24]
call fcn.004c7caa
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4c9b5d
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004c83cb
mov eax, dword [esp + 0x24]
jmp 0x4c9b25
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4c9b88
mov eax, dword [esp + 0x68]
push eax
call fcn.004d0c7b
add esp, 4
lea ecx, [esp + 0x3c]
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
push ecx
mov dword [esp + 0xc4], 0xffffffff
call fcn.004c6dfe
jmp 0x4ca10e
cmp al, 0x5b
jne 0x4ca10e
lea ecx, [esp + 0x64]
push ecx
call fcn.004cbce0
mov dword [esp + 0xc0], 0xc
inc dword [esi]
mov eax, dword [esi]
cmp byte [eax], 0
je 0x4c9c5c
mov edx, esi
call fcn.004cfb80
test al, al
je 0x4c9cde
mov edx, dword [esp + 0x74]
sub edx, dword [esp + 0x70]
test edx, 0xfffffffc
jne 0x4c9c0b
mov eax, dword [esi]
cmp byte [eax], 0x5d
je 0x4c9d70
push esi
call fcn.004c92a0
add esp, 4
mov dword [esp + 0x2c], eax
lea edi, [esp + 0x64]
test eax, eax
je 0x4c9ddb
lea ebx, [esp + 0x2c]
call fcn.004cbfd0
mov edx, esi
call fcn.004cfb80
test al, al
je 0x4c9e5d
mov eax, dword [esi]
mov cl, byte [eax]
cmp cl, 0x5d
je 0x4c9edf
cmp cl, 0x2c
jne 0x4c9f34
inc eax
mov ecx, eax
mov dword [esi], eax
cmp byte [ecx], 0
jne 0x4c9be1
lea esi, [esp + 0x5c]
lea edi, [esp + 0x64]
call fcn.004cbf90
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea esi, [esp + 0x2c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
je 0x4c9d57
lea esi, [esp + 0x24]
call fcn.004cc030
mov esi, dword [eax]
test esi, esi
je 0x4c9cb0
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004cc060
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
jne 0x4c9c92
jmp 0x4c9d57
lea esi, [esp + 0x5c]
lea edi, [esp + 0x64]
call fcn.004cbf90
mov edx, dword [eax]
mov eax, dword [eax + 4]
lea esi, [esp + 0x2c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
je 0x4c9d57
lea esi, [esp + 0x24]
call fcn.004cc030
mov esi, dword [eax]
test esi, esi
je 0x4c9d2e
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004cc060
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
jne 0x4c9d10
lea esi, [esp + 0x64]
mov dword [esp + 0xc0], 0xffffffff
call fcn.004cbe60
jmp 0x4ca10e
inc dword [esi]
push 0x68
call fcn.004d0c4c
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov bl, 0xd
mov byte [esp + 0xc0], bl
test esi, esi
je 0x4c9dbe
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x44], esp
push ecx
lea ecx, [esp + 0x80]
call fcn.004cbd40
mov byte [esp + 0xd8], 0xe
push esi
mov byte [esp + 0xdc], bl
call fcn.004ca470
mov edi, eax
jmp 0x4c9dc0
xor edi, edi
lea esi, [esp + 0x64]
mov dword [esp + 0xc0], 0xffffffff
call fcn.004cbe60
mov eax, edi
jmp 0x4ca110
lea esi, [esp + 0x5c]
call fcn.004cbf90
mov edx, dword [eax]
mov eax, dword [eax + 4]
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
je 0x4c9d57
lea esi, [esp + 0x24]
call fcn.004cc030
mov esi, dword [eax]
test esi, esi
je 0x4c9e2f
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004cc060
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
jne 0x4c9e11
jmp 0x4c9d57
lea esi, [esp + 0x5c]
lea edi, [esp + 0x64]
call fcn.004cbf90
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea esi, [esp + 0x2c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
je 0x4c9d57
lea esi, [esp + 0x24]
call fcn.004cc030
mov esi, dword [eax]
test esi, esi
je 0x4c9eb1
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004cc060
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
jne 0x4c9e93
jmp 0x4c9d57
inc dword [esi]
push 0x68
call fcn.004d0c4c
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov byte [esp + 0xc0], 0xf
test esi, esi
je 0x4c9dbe
sub esp, 0x18
mov eax, esp
mov dword [esp + 0x44], esp
push eax
lea ecx, [esp + 0x80]
call fcn.004cbd40
mov byte [esp + 0xd8], 0x10
push esi
mov byte [esp + 0xdc], 0xf
call fcn.004ca470
mov edi, eax
jmp 0x4c9dc0
lea esi, [esp + 0x5c]
lea edi, [esp + 0x64]
call fcn.004cbf90
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea esi, [esp + 0x2c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
je 0x4c9d57
lea ebx, [ebx]
lea esi, [esp + 0x24]
call fcn.004cc030
mov esi, dword [eax]
test esi, esi
je 0x4c9f8e
push esi
call fcn.004ca5d0
push esi
call fcn.004d0c7b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004cc060
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004cbfb0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004cc0a0
test al, al
jne 0x4c9f70
jmp 0x4c9d57
cmp al, 0x2d
sete al
mov byte [esp + 0x3b], al
test al, al
je 0x4c9fcc
inc ecx
mov dword [esi], ecx
mov ecx, dword [esi]
fldz
mov al, byte [ecx]
fst qword [esp + 0x2c]
cmp al, 0x30
jne 0x4c9fdf
inc ecx
mov dword [esi], ecx
jmp 0x4ca004
cmp al, 0x31
fstp st(0)
jl 0x4ca10e
cmp al, 0x39
jg 0x4ca10e
mov edx, esi
call fcn.004cfc50
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fst qword [esp + 0x2c]
mov eax, dword [esi]
fld qword [0x561a20]
cmp byte [eax], 0x2e
jne 0x4ca057
inc eax
mov dword [esi], eax
mov al, byte [eax]
cmp al, 0x30
jl 0x4ca10a
cmp al, 0x39
jg 0x4ca10a
mov edx, esi
call fcn.004cfc50
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fld st(0)
call fcn.004fa7c0
test eax, eax
jle 0x4ca04d
fdiv st(1)
fld st(0)
call fcn.004fa7c0
test eax, eax
jg 0x4ca040
faddp st(2)
fxch st(1)
fst qword [esp + 0x2c]
fxch st(1)
mov eax, dword [esi]
mov cl, byte [eax]
cmp cl, 0x45
je 0x4ca065
cmp cl, 0x65
jne 0x4ca0b5
inc eax
mov dword [esi], eax
mov cl, byte [eax]
xor bl, bl
cmp cl, 0x2d
je 0x4ca079
cmp cl, 0x2b
jne 0x4ca07f
cmp cl, 0x2d
sete bl
inc eax
mov dword [esi], eax
mov eax, dword [esi]
mov al, byte [eax]
cmp al, 0x30
jl 0x4ca10a
cmp al, 0x39
jg 0x4ca10a
mov edx, esi
call fcn.004cfc50
test eax, eax
jle 0x4ca0b5
test bl, bl
je 0x4ca0a6
fdiv st(1), st(0)
jmp 0x4ca0a8
fmul st(1), st(0)
sub eax, 1
jne 0x4ca09e
fstp st(0)
fst qword [esp + 0x2c]
jmp 0x4ca0b7
fstp st(0)
cmp byte [esp + 0x3b], 0
je 0x4ca0ca
fmul qword [0x561b70]
fstp qword [esp + 0x2c]
jmp 0x4ca0cc
fstp st(0)
push 0x68
call fcn.004d0c4c
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xc0], 5
test eax, eax
je 0x4c9485
fld qword [esp + 0x2c]
sub esp, 8
fstp qword [esp]
push eax
call fcn.004ca3f0
mov dword [esp + 0xc0], 0xffffffff
jmp 0x4ca110
fstp st(1)
fstp st(0)
xor eax, eax
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.004f2b62
mov esp, ebp
pop ebp
ret