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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x4c13c9
sub esp, 0xb4
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov eax, dword [ebx + 4]
cmp eax, 0
jne 0x4c09c6
cmp ebp, 0
jne 0x4c09c6
xor eax, eax
mov dword [ecx + 0xc], eax
xor eax, eax
mov dword [ecx + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [ecx + 0x14], al
xchg ebp, eax
mov byte [esp + 0xc8], 1
add esp, 0xb4
ret
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx + 8]
cmp ebp, 0
jne 0x4c0ca1
mov esi, dword [esp + 0xc0]
cmp esi, 0
je 0x4c13c2
mov edx, dword [esp + 0xb8]
cmp edx, 0
je 0x4c13bb
mov eax, dword [esi]
mov dword [esp + 0x8c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x90], eax
mov edi, dword [edx]
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0x90]
cmp ebx, eax
jne 0x4c0ca1
mov ebx, dword [esp + 0x8c]
cmp ebx, edi
jne 0x4c0ca1
mov edi, dword [esi + 8]
mov ebp, dword [edx + 8]
cmp edi, ebp
jne 0x4c0ca1
movzx ebp, byte [esi + 0xc]
mov esi, ebp
movzx ebp, byte [edx + 0xc]
xchg esi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg esi, eax
jne 0x4c0ca1
mov edx, dword [esp + 0xc0]
cmp edx, 0
je 0x4c13b4
mov esi, dword [esp + 0xc4]
cmp esi, 0
je 0x4c13ad
mov eax, dword [edx]
mov dword [esp + 0x8c], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x90], eax
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x90]
cmp ebx, eax
jne 0x4c0ca1
mov ebx, dword [esp + 0x8c]
cmp ebx, edi
jne 0x4c0ca1
mov eax, dword [edx + 8]
mov ebp, dword [esi + 8]
cmp eax, ebp
jne 0x4c0ca1
movzx ebp, byte [edx + 0xc]
mov edx, ebp
movzx ebp, byte [esi + 0xc]
xchg ebp, eax
cmp dl, al
xchg ebp, eax
jne 0x4c0ca1
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.0044ceea
mov dword [esp + 0x38], 0x17
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov edx, dword [ebx + 4]
cmp edx, 0
jb 0x4c0baf
jbe 0x4c0c93
mov dword [esp + 0x5c], ebp
mov dword [esp], ebp
mov dword [esp + 0x60], edx
mov dword [esp + 4], edx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call dbg.runtime.uint64div
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x88], eax
mov eax, 0xa
xor edx, edx
mov esi, dword [esp + 0x54]
mov ebp, edx
or ebp, edi
jne 0x4c0c7e
mul esi
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
sub eax, ebp
sbb edx, ebx
add eax, 0x30
adc edx, 0
mov ebx, dword [esp + 0x38]
lea ebp, [esp + 0x9c]
cmp ebx, 0x18
jae 0x4c0c77
add ebp, ebx
mov byte [ebp], al
mov ebx, dword [esp + 0x38]
dec ebx
mov dword [esp + 0x38], ebx
mov ebp, dword [esp + 0x54]
mov edx, edi
cmp edx, 0
jae 0x4c0af8
mov ebx, 0x18
sub ebx, dword [esp + 0x38]
dec ebx
mov dword [esp + 0x34], ebx
xor eax, eax
mov ebp, dword [esp + 0x34]
cmp eax, ebp
jge 0x4c0bfa
mov ebx, dword [esp + 0x38]
inc ebx
add ebx, eax
lea ebp, [esp + 0x9c]
cmp ebx, 0x18
jae 0x4c0c70
add ebp, ebx
movzx ebx, byte [ebp]
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x4c0c69
mov esi, dword [ecx]
add esi, eax
mov byte [esi], bl
inc eax
mov ebp, dword [esp + 0x34]
cmp eax, ebp
jl 0x4c0bc7
mov eax, dword [esp + 0x34]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x10], eax
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jle 0x4c0c36
mov eax, dword [ecx + 0xc]
dec eax
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x4c0c62
mov esi, dword [ecx]
add esi, eax
movzx ebx, byte [esi]
cmp bl, 0x30
jne 0x4c0c36
mov eax, dword [ecx + 0xc]
dec eax
mov dword [ecx + 0xc], eax
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jg 0x4c0c10
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jne 0x4c0c43
xor eax, eax
mov dword [ecx + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [ecx + 0x14], al
xchg ebp, eax
mov byte [esp + 0xc8], 1
add esp, 0xb4
ret
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
imul edx, esi
mov ebp, eax
imul ebp, edi
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4c0b62
cmp ebp, 0
jbe 0x4c0baf
jmp 0x4c0afe
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call dbg.strconv.(*extFloat).Normalize
mov edi, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
mov ebx, dword [esp + 0xb8]
mov ecx, dword [ebx + 8]
mov ebp, dword [esi + 8]
cmp ecx, ebp
jle 0x4c0d2a
mov ebx, dword [esp + 0xb8]
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 8]
mov ebp, dword [esi + 8]
mov dword [esp + 0x50], ebp
mov ebx, dword [esp + 0x50]
mov ebp, eax
sub ebp, ebx
mov eax, edx
mov edx, ecx
mov ecx, ebp
cmp ebp, 0x40
jae 0x4c13a4
cmp ecx, 0x20
jae 0x4c1399
shld edx, eax, cl
shl eax, cl
mov ebx, dword [esp + 0xb8]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebp, dword [esi + 8]
mov ebx, dword [esp + 0xb8]
mov dword [ebx + 8], ebp
mov eax, dword [edi + 8]
mov ebp, dword [esi + 8]
cmp eax, ebp
jle 0x4c0d73
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x90], eax
mov ecx, dword [edi + 8]
mov ebx, dword [esi + 8]
sub ecx, ebx
mov eax, edx
mov edx, dword [esp + 0x90]
cmp ecx, 0x40
jae 0x4c1390
cmp ecx, 0x20
jae 0x4c1385
shld edx, eax, cl
shl eax, cl
mov dword [edi], eax
mov dword [edi + 4], edx
mov ebp, dword [esi + 8]
mov dword [edi + 8], ebp
mov dword [esp], edi
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call dbg.strconv.frexp10Many
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x48], ebx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
add eax, 1
adc edx, 0
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov ebx, dword [esp + 0xc0]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
sub eax, 1
sbb edx, 0
mov ebx, dword [esp + 0xc0]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [ebp + 8]
neg ebx
mov dword [esp + 0x30], ebx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4c137c
cmp ecx, 0x20
jae 0x4c1371
shrd eax, edx, cl
shr edx, cl
mov dword [esp + 0x40], eax
mov eax, dword [ebp]
mov dword [esp + 0x84], eax
mov esi, dword [ebp + 4]
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4c1368
cmp ecx, 0x20
jae 0x4c135d
shld edx, eax, cl
shl eax, cl
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x84]
mov edx, esi
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0xc0]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
sub eax, esi
sbb edx, ebx
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov ecx, dword [ebx + 4]
sub eax, ebp
sbb edx, ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x3c], 0
xor ecx, ecx
mov esi, 1
xor ebp, ebp
cmp ecx, 0x14
jge 0x4c0ee6
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x84], ebx
xor ebx, ebx
mov eax, dword [esp + 0x84]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x90]
cmp ebx, ebp
ja 0x4c1330
jb 0x4c0ee2
mov ebx, dword [esp + 0x8c]
cmp ebx, esi
jae 0x4c1330
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], 0
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jge 0x4c107b
mov ebx, dword [esp + 0x3c]
sub ebx, dword [esp + 0x44]
dec ebx
mov ebp, 0x5f3b00
cmp ebx, 0x14
jae 0x4c1329
shl ebx, 3
add ebp, ebx
mov eax, dword [ebp]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x40]
xor edx, edx
div ebp
mov ecx, eax
mov eax, dword [esp + 0x4c]
mov edx, ecx
add edx, 0x30
mov ebp, dword [esp + 0x44]
mov esi, dword [edi + 4]
cmp ebp, esi
jae 0x4c1322
mov esi, dword [edi]
add esi, ebp
mov byte [esi], dl
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x6c]
imul ebx, ecx
sub ebp, ebx
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4c1319
cmp ecx, 0x20
jae 0x4c130e
shld edx, eax, cl
shl eax, cl
add eax, dword [esp + 0x7c]
adc edx, dword [esp + 0x80]
mov esi, eax
mov ecx, edx
cmp edx, dword [esp + 0x98]
ja 0x4c1062
jb 0x4c0fb5
cmp esi, dword [esp + 0x94]
jae 0x4c1062
mov eax, dword [esp + 0x44]
inc eax
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x48]
mov dword [edi + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [edi + 0x14], al
xchg ebp, eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4c105c
cmp ecx, 0x20
jae 0x4c1054
shld edx, eax, cl
shl eax, cl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 0
call dbg.strconv.adjustLastDigit
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xc8], bl
add esp, 0xb4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4c1024
xor edx, edx
xor eax, eax
jmp 0x4c101a
mov ebx, dword [esp + 0x44]
inc ebx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jl 0x4c0efe
mov eax, dword [esp + 0x3c]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0xc]
add eax, dword [esp + 0x48]
mov dword [edi + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [edi + 0x14], al
xchg ebp, eax
mov dword [esp + 0x74], 1
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov esi, 0xa
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4c12f9
mul esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov esi, 0xa
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4c12e4
mul esi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4c12db
cmp ecx, 0x20
jae 0x4c12d0
shrd eax, edx, cl
shr edx, cl
mov ecx, eax
mov edx, eax
add edx, 0x30
mov ebp, dword [edi + 0xc]
mov esi, dword [edi + 4]
cmp ebp, esi
jae 0x4c12c9
mov esi, dword [edi]
add esi, ebp
mov byte [esi], dl
mov eax, dword [edi + 0xc]
inc eax
mov dword [edi + 0xc], eax
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x80]
mov eax, ecx
cdq
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4c12c0
cmp ecx, 0x20
jae 0x4c12b5
shld edx, eax, cl
shl eax, cl
mov ebx, eax
mov ecx, edx
mov eax, esi
mov edx, ebp
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, edx
or ebp, ebx
jne 0x4c12a0
mul esi
cmp edx, dword [esp + 0x80]
jb 0x4c10ac
ja 0x4c11bb
cmp eax, dword [esp + 0x7c]
jbe 0x4c10ac
mov dword [esp], edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, edx
or ebp, ebx
jne 0x4c128b
mul esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, edx
or ebp, ebx
jne 0x4c1279
mul esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, 1
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4c1273
cmp ecx, 0x20
jae 0x4c126b
shld edx, eax, cl
shl eax, cl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
shld edx, eax, 1
shl eax, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
call dbg.strconv.adjustLastDigit
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xc8], bl
add esp, 0xb4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4c1235
xor edx, edx
xor eax, eax
jmp 0x4c122b
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4c1213
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4c11ed
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4c11a2
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4c1169
xor edx, edx
xor eax, eax
jmp 0x4c115b
call dbg.runtime.panicindex
ud2
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x4c111e
xor edx, edx
xor eax, eax
jmp 0x4c1110
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4c10f0
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4c10ca
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4c0f8a
xor edx, edx
xor eax, eax
jmp 0x4c0f7c
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
mov eax, esi
mov edx, ebp
mov esi, 0xa
xor ebx, ebx
or ebp, ebx
jne 0x4c134b
mul esi
mov esi, eax
mov ebp, edx
inc ecx
jmp 0x4c0e9b
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4c1341
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4c0e2c
xor edx, edx
xor eax, eax
jmp 0x4c0e1e
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x4c0dfa
xor edx, edx
xor eax, eax
jmp 0x4c0dec
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4c0d68
xor edx, edx
xor eax, eax
jmp 0x4c0d5a
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4c0d11
xor edx, edx
xor eax, eax
jmp 0x4c0d03
mov dword [esi], eax
jmp 0x4c0a75
mov dword [edx], eax
jmp 0x4c0a65
mov dword [edx], eax
jmp 0x4c09f9
mov dword [esi], eax
jmp 0x4c09e9
call dbg.runtime.morestack_noctxt
jmp dbg.strconv.(*extFloat).ShortestDecimal