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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x517f20
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x597790]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov eax, dword [0x597790]
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 0x4cbadf
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.004d22a0
test al, al
jne 0x4cba54
mov dword [esp + 0xc0], 0xffffffff
cmp dword [esp + 0x7c], 0x10
jb 0x4cba43
mov eax, dword [esp + 0x68]
push eax
call fcn.004d336b
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
jmp 0x4cc81e
push 0x68
call fcn.004d333c
mov esi, eax
add esp, 4
mov dword [esp + 0x2c], esi
mov byte [esp + 0xc0], 1
cmp esi, ebx
je 0x4cbaab
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.004c9db6
mov byte [esp + 0xdc], 2
mov byte [esp + 0xdc], 1
call fcn.004cc9c0
mov esi, eax
jmp 0x4cbaad
xor esi, esi
mov dword [esp + 0xc0], 0xffffffff
cmp dword [esp + 0x7c], 0x10
jb 0x4cbacc
mov eax, dword [esp + 0x68]
push eax
call fcn.004d336b
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
mov eax, esi
jmp 0x4cc820
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4cbae4
sub eax, edx
cmp eax, 4
jb 0x4cbb06
push 4
push str.true
push edi
call fcn.00505370
add esp, 0xc
test eax, eax
je 0x4cbb36
mov edx, dword [esi]
mov eax, edx
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4cbb10
sub eax, edi
cmp eax, 5
jb 0x4cbba7
push 5
push str.false
push edx
call fcn.00505370
add esp, 0xc
test eax, eax
jne 0x4cbba7
mov ecx, dword [esi]
push 4
push str.true
push ecx
call fcn.00505370
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.004d333c
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xc0], 3
test eax, eax
je 0x4cbb95
mov ecx, dword [esp + 0x2c]
push ecx
push eax
call fcn.004cca80
mov dword [esp + 0xc0], 0xffffffff
jmp 0x4cc820
xor eax, eax
mov dword [esp + 0xc0], 0xffffffff
jmp 0x4cc820
mov edx, dword [esi]
mov eax, edx
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4cbbb0
sub eax, edi
cmp eax, 4
jb 0x4cbc08
push 4
push str.null
push edx
call fcn.00505370
add esp, 0xc
test eax, eax
jne 0x4cbc08
add dword [esi], 4
push 0x68
call fcn.004d333c
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xc0], 4
test eax, eax
je 0x4cbb95
push eax
call fcn.004cc850
mov dword [esp + 0xc0], 0xffffffff
jmp 0x4cc820
mov ecx, dword [esi]
mov al, byte [ecx]
cmp al, 0x2d
je 0x4cc6ce
cmp al, 0x30
jl 0x4cbc20
cmp al, 0x39
jle 0x4cc6cc
cmp al, 0x7b
jne 0x4cc2c7
lea edx, [esp + 0x3c]
push edx
call fcn.004c9ae2
mov dword [esp + 0xc0], 6
inc dword [esi]
mov eax, dword [esi]
cmp byte [eax], 0
je 0x4cbdb9
lea ebx, [ebx]
mov edx, esi
call fcn.004d2270
test al, al
je 0x4cbe1b
xor edi, edi
cmp dword [esp + 0x58], edi
jne 0x4cbc72
mov eax, dword [esi]
cmp byte [eax], 0x7d
je 0x4cbe7b
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.004d22a0
test al, al
je 0x4cbee5
mov edx, esi
call fcn.004d2270
test al, al
je 0x4cbf81
mov eax, dword [esi]
mov cl, byte [eax]
inc eax
mov dword [esi], eax
cmp cl, 0x3a
jne 0x4cbfda
mov edx, esi
call fcn.004d2270
test al, al
je 0x4cc03b
push esi
call fcn.004cb9b0
add esp, 4
mov dword [esp + 0x2c], eax
cmp eax, edi
je 0x4cc09b
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.004c9ca4
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x4cbd0e
cmp eax, ebx
je 0x4cbd13
call fcn.004fd6cf
mov eax, dword [esp + 0x28]
cmp dword [edi + 4], eax
je 0x4cbd40
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x40]
push edx
call fcn.004c9b15
mov edi, dword [eax]
test edi, edi
je 0x4cbd40
push edi
call fcn.004ccce0
push edi
call fcn.004d336b
add esp, 4
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.004c9b15
mov edx, dword [esp + 0x2c]
mov dword [eax], edx
mov edx, esi
call fcn.004d2270
test al, al
je 0x4cc0fb
mov eax, dword [esi]
mov cl, byte [eax]
cmp cl, 0x7d
je 0x4cc188
cmp cl, 0x2c
jne 0x4cc223
inc eax
mov dword [esi], eax
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4cbd99
mov eax, dword [esp + 0x68]
push eax
call fcn.004d336b
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 0x4cbc50
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 0x4cbdd0
mov esi, dword [esp + 0x54]
test eax, eax
je 0x4cbdde
cmp eax, dword [esp + 0x3c]
je 0x4cbde3
call fcn.004fd6cf
cmp dword [esp + 0x28], esi
je 0x4cbf67
lea esi, [esp + 0x24]
call fcn.004ca288
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4cbe0c
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004ca9a9
mov eax, dword [esp + 0x24]
jmp 0x4cbdd0
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 0x4cbe3e
cmp eax, dword [esp + 0x3c]
je 0x4cbe43
call fcn.004fd6cf
cmp dword [esp + 0x28], esi
je 0x4cbf67
lea esi, [esp + 0x24]
call fcn.004ca288
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4cbe6c
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004ca9a9
mov eax, dword [esp + 0x24]
jmp 0x4cbe30
inc dword [esi]
push 0x68
call fcn.004d333c
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov bl, 7
mov byte [esp + 0xc0], bl
cmp esi, edi
je 0x4cbec7
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x4c], esp
lea edx, [esp + 0x5c]
push edx
push ecx
call fcn.004c981c
mov byte [esp + 0xe0], 8
push esi
mov byte [esp + 0xe4], bl
call fcn.004ccc40
mov esi, eax
jmp 0x4cbec9
xor esi, esi
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0xc4], 0xffffffff
call fcn.004c93dc
mov eax, esi
jmp 0x4cc820
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 0x4cbf05
cmp eax, dword [esp + 0x3c]
je 0x4cbf0a
call fcn.004fd6cf
cmp dword [esp + 0x28], esi
je 0x4cbf3e
lea esi, [esp + 0x24]
call fcn.004ca288
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4cbf2f
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004ca9a9
mov eax, dword [esp + 0x24]
jmp 0x4cbef7
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4cbf5a
mov edx, dword [esp + 0x68]
push edx
call fcn.004d336b
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.004c93dc
jmp 0x4cc81e
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 0x4cbfa1
cmp eax, dword [esp + 0x3c]
je 0x4cbfa6
call fcn.004fd6cf
cmp dword [esp + 0x28], esi
je 0x4cbf3e
lea esi, [esp + 0x24]
call fcn.004ca288
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4cbfcb
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004ca9a9
mov eax, dword [esp + 0x24]
jmp 0x4cbf93
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 0x4cbffe
cmp eax, dword [esp + 0x3c]
je 0x4cc003
call fcn.004fd6cf
cmp dword [esp + 0x28], esi
je 0x4cbf3e
lea esi, [esp + 0x24]
call fcn.004ca288
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4cc02c
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004ca9a9
mov eax, dword [esp + 0x24]
jmp 0x4cbff0
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 0x4cc05e
cmp eax, dword [esp + 0x3c]
je 0x4cc063
call fcn.004fd6cf
cmp dword [esp + 0x28], esi
je 0x4cbf3e
lea esi, [esp + 0x24]
call fcn.004ca288
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4cc08c
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004ca9a9
mov eax, dword [esp + 0x24]
jmp 0x4cc050
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 0x4cc0be
cmp eax, dword [esp + 0x3c]
je 0x4cc0c3
call fcn.004fd6cf
cmp dword [esp + 0x28], esi
je 0x4cbf3e
lea esi, [esp + 0x24]
call fcn.004ca288
mov esi, dword [eax + 0x1c]
cmp esi, edi
je 0x4cc0ec
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004ca9a9
mov eax, dword [esp + 0x24]
jmp 0x4cc0b0
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 0x4cc11e
cmp eax, dword [esp + 0x3c]
je 0x4cc123
call fcn.004fd6cf
cmp dword [esp + 0x28], esi
je 0x4cc157
lea esi, [esp + 0x24]
call fcn.004ca288
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4cc148
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004ca9a9
mov eax, dword [esp + 0x24]
jmp 0x4cc110
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4cc173
mov edx, dword [esp + 0x68]
push edx
call fcn.004d336b
add esp, 4
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
jmp 0x4cbf62
inc dword [esi]
push 0x68
call fcn.004d333c
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov bl, 0xa
mov byte [esp + 0xc0], bl
test esi, esi
je 0x4cc1d4
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x4c], esp
lea edx, [esp + 0x5c]
push edx
push ecx
call fcn.004c981c
mov byte [esp + 0xe0], 0xb
push esi
mov byte [esp + 0xe4], bl
call fcn.004ccc40
mov esi, eax
jmp 0x4cc1d6
xor esi, esi
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4cc1f2
mov eax, dword [esp + 0x68]
push eax
call fcn.004d336b
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.004c93dc
mov eax, esi
jmp 0x4cc820
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 0x4cc243
cmp eax, dword [esp + 0x3c]
je 0x4cc248
call fcn.004fd6cf
cmp dword [esp + 0x28], esi
je 0x4cc27c
lea esi, [esp + 0x24]
call fcn.004ca288
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4cc26d
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea esi, [esp + 0x24]
call fcn.004ca9a9
mov eax, dword [esp + 0x24]
jmp 0x4cc235
mov byte [esp + 0xc0], 6
cmp dword [esp + 0x7c], 0x10
jb 0x4cc298
mov eax, dword [esp + 0x68]
push eax
call fcn.004d336b
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.004c93dc
jmp 0x4cc81e
cmp al, 0x5b
jne 0x4cc81e
lea ecx, [esp + 0x64]
push ecx
call fcn.004ce3f0
mov dword [esp + 0xc0], 0xc
inc dword [esi]
mov eax, dword [esi]
cmp byte [eax], 0
je 0x4cc36c
mov edx, esi
call fcn.004d2270
test al, al
je 0x4cc3ee
mov edx, dword [esp + 0x74]
sub edx, dword [esp + 0x70]
test edx, 0xfffffffc
jne 0x4cc31b
mov eax, dword [esi]
cmp byte [eax], 0x5d
je 0x4cc480
push esi
call fcn.004cb9b0
add esp, 4
mov dword [esp + 0x2c], eax
lea edi, [esp + 0x64]
test eax, eax
je 0x4cc4eb
lea ebx, [esp + 0x2c]
call fcn.004ce6e0
mov edx, esi
call fcn.004d2270
test al, al
je 0x4cc56d
mov eax, dword [esi]
mov cl, byte [eax]
cmp cl, 0x5d
je 0x4cc5ef
cmp cl, 0x2c
jne 0x4cc644
inc eax
mov ecx, eax
mov dword [esi], eax
cmp byte [ecx], 0
jne 0x4cc2f1
lea esi, [esp + 0x5c]
lea edi, [esp + 0x64]
call fcn.004ce6a0
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.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
je 0x4cc467
lea esi, [esp + 0x24]
call fcn.004ce740
mov esi, dword [eax]
test esi, esi
je 0x4cc3c0
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004ce770
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
jne 0x4cc3a2
jmp 0x4cc467
lea esi, [esp + 0x5c]
lea edi, [esp + 0x64]
call fcn.004ce6a0
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.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
je 0x4cc467
lea esi, [esp + 0x24]
call fcn.004ce740
mov esi, dword [eax]
test esi, esi
je 0x4cc43e
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004ce770
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
jne 0x4cc420
lea esi, [esp + 0x64]
mov dword [esp + 0xc0], 0xffffffff
call fcn.004ce570
jmp 0x4cc81e
inc dword [esi]
push 0x68
call fcn.004d333c
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov bl, 0xd
mov byte [esp + 0xc0], bl
test esi, esi
je 0x4cc4ce
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x44], esp
push ecx
lea ecx, [esp + 0x80]
call fcn.004ce450
mov byte [esp + 0xd8], 0xe
push esi
mov byte [esp + 0xdc], bl
call fcn.004ccb80
mov edi, eax
jmp 0x4cc4d0
xor edi, edi
lea esi, [esp + 0x64]
mov dword [esp + 0xc0], 0xffffffff
call fcn.004ce570
mov eax, edi
jmp 0x4cc820
lea esi, [esp + 0x5c]
call fcn.004ce6a0
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.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
je 0x4cc467
lea esi, [esp + 0x24]
call fcn.004ce740
mov esi, dword [eax]
test esi, esi
je 0x4cc53f
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004ce770
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
jne 0x4cc521
jmp 0x4cc467
lea esi, [esp + 0x5c]
lea edi, [esp + 0x64]
call fcn.004ce6a0
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.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
je 0x4cc467
lea esi, [esp + 0x24]
call fcn.004ce740
mov esi, dword [eax]
test esi, esi
je 0x4cc5c1
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004ce770
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
jne 0x4cc5a3
jmp 0x4cc467
inc dword [esi]
push 0x68
call fcn.004d333c
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov byte [esp + 0xc0], 0xf
test esi, esi
je 0x4cc4ce
sub esp, 0x18
mov eax, esp
mov dword [esp + 0x44], esp
push eax
lea ecx, [esp + 0x80]
call fcn.004ce450
mov byte [esp + 0xd8], 0x10
push esi
mov byte [esp + 0xdc], 0xf
call fcn.004ccb80
mov edi, eax
jmp 0x4cc4d0
lea esi, [esp + 0x5c]
lea edi, [esp + 0x64]
call fcn.004ce6a0
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.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
je 0x4cc467
lea ebx, [ebx]
lea esi, [esp + 0x24]
call fcn.004ce740
mov esi, dword [eax]
test esi, esi
je 0x4cc69e
push esi
call fcn.004ccce0
push esi
call fcn.004d336b
add esp, 4
lea edi, [esp + 0x5c]
lea esi, [esp + 0x24]
call fcn.004ce770
lea esi, [esp + 0x2c]
lea edi, [esp + 0x64]
call fcn.004ce6c0
mov esi, eax
lea edi, [esp + 0x24]
call fcn.004ce7b0
test al, al
jne 0x4cc680
jmp 0x4cc467
cmp al, 0x2d
sete al
mov byte [esp + 0x3b], al
test al, al
je 0x4cc6dc
inc ecx
mov dword [esi], ecx
mov ecx, dword [esi]
fldz
mov al, byte [ecx]
fst qword [esp + 0x2c]
cmp al, 0x30
jne 0x4cc6ef
inc ecx
mov dword [esi], ecx
jmp 0x4cc714
cmp al, 0x31
fstp st(0)
jl 0x4cc81e
cmp al, 0x39
jg 0x4cc81e
mov edx, esi
call fcn.004d2340
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fst qword [esp + 0x2c]
mov eax, dword [esi]
fld qword [0x565910]
cmp byte [eax], 0x2e
jne 0x4cc767
inc eax
mov dword [esi], eax
mov al, byte [eax]
cmp al, 0x30
jl 0x4cc81a
cmp al, 0x39
jg 0x4cc81a
mov edx, esi
call fcn.004d2340
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fld st(0)
call fcn.004fcb00
test eax, eax
jle 0x4cc75d
fdiv st(1)
fld st(0)
call fcn.004fcb00
test eax, eax
jg 0x4cc750
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 0x4cc775
cmp cl, 0x65
jne 0x4cc7c5
inc eax
mov dword [esi], eax
mov cl, byte [eax]
xor bl, bl
cmp cl, 0x2d
je 0x4cc789
cmp cl, 0x2b
jne 0x4cc78f
cmp cl, 0x2d
sete bl
inc eax
mov dword [esi], eax
mov eax, dword [esi]
mov al, byte [eax]
cmp al, 0x30
jl 0x4cc81a
cmp al, 0x39
jg 0x4cc81a
mov edx, esi
call fcn.004d2340
test eax, eax
jle 0x4cc7c5
test bl, bl
je 0x4cc7b6
fdiv st(1), st(0)
jmp 0x4cc7b8
fmul st(1), st(0)
sub eax, 1
jne 0x4cc7ae
fstp st(0)
fst qword [esp + 0x2c]
jmp 0x4cc7c7
fstp st(0)
cmp byte [esp + 0x3b], 0
je 0x4cc7da
fmul qword [0x565a60]
fstp qword [esp + 0x2c]
jmp 0x4cc7dc
fstp st(0)
push 0x68
call fcn.004d333c
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xc0], 5
test eax, eax
je 0x4cbb95
fld qword [esp + 0x2c]
sub esp, 8
fstp qword [esp]
push eax
call fcn.004ccb00
mov dword [esp + 0xc0], 0xffffffff
jmp 0x4cc820
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.004f4e9c
mov esp, ebp
pop ebp
ret