Function at 0x4c8300
Capabilities:
Encrypt data using rc4 ksa
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xac
mov esi, eax
mov eax, dword [0x61ef80]
mov edi, edx
mov dword [ebp - 0xa0], ecx
test eax, eax
je 0x4c83f0
test esi, esi
je 0x4c8477
test edi, edi
je 0x4c8484
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4c8349
mov eax, dword [ebp - 0xa0]
mov dword [eax], 0
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x4c83d0
mov ebx, dword [esi + 0x58]
cmp ebx, 1
je 0x4c83d3
cmp ebx, 0x2d
je 0x4c83d3
cmp ebx, 0x2e
je 0x4c83fa
cmp ebx, 2
je 0x4c9708
sub esp, 0xc
push edi
call fcn.004c6cb0
add esp, 0x10
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x4c8395
mov edi, dword [ebp - 0x9c]
mov ebx, dword [esi + 0x58]
cmp ebx, 0x2e
jbe switch.0x004c83e2
lea esi, [esi]
xor esi, esi
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x4c83bf
sub esp, 0xc
mov edi, dword [ebp - 0x9c]
push edi
call dword [0x519080]
add esp, 0x10
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esi + 0x58]
mov dword [ebp - 0x9c], 0
cmp ebx, 0x2e
ja case.default.0x4c83e2
jmp dword [ebx*4 + 0x542d08]
call fcn.004c7d20
jmp 0x4c8323
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp + 0x1c]
test eax, eax
je case.default.0x4c83e2
mov esi, dword [ebp - 0xa0]
test esi, esi
je case.default.0x4c83e2
mov eax, 0x2e
call fcn.004c49d0
mov ebx, eax
test eax, eax
je case.0x4c83e2.0
sub esp, 0xc
push edi
call fcn.00483c60
mov dword [ebx + 8], eax
add esp, 0x10
mov edx, dword [ebp - 0xa0]
mov dword [edx], ebx
jmp case.default.0x4c83e2
test ebx, ebx
je 0x4c8452
sub esp, 0xc
push ebx
call dword [0x519080]
add esp, 0x10
mov eax, dword [ebp - 0x80]
test eax, eax
je case.0x4c83e2.0
sub esp, 0xc
mov eax, dword [ebp - 0x80]
push eax
call dword [0x519080]
add esp, 0x10
mov ebx, dword [ebp - 0x9c]
test ebx, ebx
jne 0x4c99f7
or esi, 0xffffffff
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, 0x542734
jmp 0x4c8333
mov eax, dword [ebp + 0x14]
mov ecx, edi
test eax, eax
jne 0x4c84d9
mov al, byte [edi]
cmp al, 0x30
je 0x4c9b83
cmp al, 0x31
je 0x4c9d32
cmp al, 0x74
je 0x4c9d93
cmp al, 0x66
jne 0x4c84c0
cmp byte [edi + 1], 0x61
je 0x4ca1b8
nop
mov eax, dword [ebp - 0x9c]
mov esi, 1
test eax, eax
jne 0x4c83ac
jmp 0x4c83bf
inc ecx
mov dl, byte [ecx]
cmp dl, 0x20
je 0x4c84d8
lea eax, [edx - 9]
cmp al, 1
jbe 0x4c84d8
cmp dl, 0xd
je 0x4c84d8
cmp dl, 0x30
je 0x4c9b94
cmp dl, 0x31
je 0x4c9d25
cmp dl, 0x74
je 0x4c9ea3
cmp dl, 0x66
jne 0x4c84c0
cmp byte [ecx + 1], 0x61
jne 0x4c84c0
cmp byte [ecx + 2], 0x6c
jne 0x4c84c0
cmp byte [ecx + 3], 0x73
jne 0x4c84c0
cmp byte [ecx + 4], 0x65
jne 0x4c84c0
lea eax, [ecx + 5]
xor ebx, ebx
mov dl, byte [eax]
mov ecx, eax
test dl, dl
jne 0x4c9644
mov eax, dword [ebp - 0xa0]
test eax, eax
je case.default.0x4c83e2
mov eax, 0xf
call fcn.004c49d0
test eax, eax
je case.0x4c83e2.0
mov dword [eax + 8], ebx
mov edi, dword [ebp - 0xa0]
mov dword [edi], eax
jmp case.default.0x4c83e2
push eax
push eax
push 1
push edi
call fcn.00447c20
add esp, 0x10
mov esi, eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x4c977f
mov edx, dword [ebp + 8]
mov ebx, dword [edx + 0x20]
test ebx, ebx
je 0x4c977f
test esi, esi
jne 0x4c83a2
mov eax, edi
call fcn.004c7a50
mov ebx, eax
test eax, eax
je 0x4ca0ee
push ecx
push ecx
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
push edx
call fcn.00487660
mov dword [esp], ebx
mov edi, eax
call dword [0x519080]
add esp, 0x10
test edi, edi
je 0x4c85d1
cmp dword [edi + 0x30], 3
je 0x4ca0b7
mov esi, 4
jmp 0x4c83a2
push ecx
push ecx
push 1
push edi
call fcn.00446f60
add esp, 0x10
test eax, eax
jne 0x4c84c0
mov edx, dword [ebp - 0xa0]
test edx, edx
je case.default.0x4c83e2
mov al, 0x12
call fcn.004c49d0
mov ebx, eax
test eax, eax
je case.0x4c83e2.0
sub esp, 0xc
push edi
call fcn.00483c60
mov dword [ebx + 8], eax
add esp, 0x10
mov ecx, dword [ebp - 0xa0]
mov dword [ecx], ebx
jmp case.default.0x4c83e2
sub esp, 0xc
mov eax, dword [ebp + 8]
mov edx, edi
push eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [0x61efa0]
call fcn.004cab30
add esp, 0x10
test eax, eax
jg case.default.0x4c83e2
mov esi, 1
jmp 0x4c83a2
push eax
push eax
push 1
push edi
call fcn.00447360
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x4c83a2
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4c83a2
mov eax, 0x14
call fcn.004c49d0
mov edx, edi
mov dword [ebp - 0x58], eax
test eax, eax
je case.0x4c83e2.0
mov cl, byte [edx]
cmp cl, 0x20
je 0x4c86ac
lea eax, [ecx - 9]
cmp al, 1
jbe 0x4c86ac
cmp cl, 0xd
jne 0x4c967c
inc edx
jmp 0x4c8695
mov eax, dword [ebp + 0x14]
mov ecx, edi
test eax, eax
jne 0x4c87b3
mov dl, byte [edi]
cmp dl, 0x4e
je 0x4c98c0
xor ebx, ebx
cmp dl, 0x2d
je 0x4c99dc
cmp dl, 0x49
je 0x4c9930
test ebx, ebx
je 0x4c97c9
test dl, dl
je 0x4c84c0
cmp dl, 0x2b
je 0x4c84c0
cmp dl, 0x2d
je 0x4c84c0
lea eax, [edx - 0x30]
xor ebx, ebx
cmp al, 9
ja 0x4c8711
inc ecx
inc ebx
mov dl, byte [ecx]
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4c8706
mov dword [ebp - 0x8c], 0
cmp dl, 0x2e
je 0x4c9d46
or ebx, dword [ebp - 0x8c]
je 0x4c84c0
mov bl, byte [ecx]
cmp bl, 0x65
je 0x4c9e43
cmp bl, 0x45
je 0x4c9e43
mov edx, ecx
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x4c9666
test bl, bl
jne 0x4c84c0
mov edx, dword [ebp - 0xa0]
test edx, edx
je case.default.0x4c83e2
cmp esi, dword [0x61ef90]
je 0x4ca3e2
mov eax, 0xe
call fcn.004c49d0
mov ebx, eax
test eax, eax
je case.0x4c83e2.0
push eax
lea eax, [ebx + 8]
push eax
push 0x542cd6
push edi
call sub.msvcrt.dll_sscanf
add esp, 0x10
dec eax
je 0x4c8fb1
sub esp, 0xc
push ebx
call fcn.004c3af0
add esp, 0x10
jmp 0x4c84c0
inc ecx
mov dl, byte [ecx]
cmp dl, 0x20
je 0x4c87b2
lea eax, [edx - 9]
cmp al, 1
jbe 0x4c87b2
cmp dl, 0xd
jne 0x4c86be
inc ecx
jmp 0x4c87b3
mov dword [ebp - 0x1c], edi
lea ebx, [ebp - 0x18]
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x10]
lea eax, [ebp - 0x1c]
push ebx
call fcn.004c4050
pop edi
mov ebx, eax
test eax, eax
js 0x4c84c0
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c84c0
mov eax, dword [esi + 0x58]
cmp eax, 0x26
je 0x4c9ee7
cmp eax, 0x24
je 0x4ca01f
cmp eax, 0x28
je 0x4ca139
cmp eax, 0x2a
je 0x4ca215
mov edx, dword [ebp - 0xa0]
test edx, edx
je case.default.0x4c83e2
call fcn.004c49d0
mov edx, eax
test eax, eax
je case.default.0x4c83e2
mov eax, dword [ebp - 0x10]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [edx + 0x10], eax
mov byte [edx + 0x18], 0
mov byte [edx + 0x19], bl
mov esi, dword [ebp - 0xa0]
mov dword [esi], edx
jmp case.default.0x4c83e2
mov eax, dword [ebp + 0x14]
mov ebx, edi
test eax, eax
jne 0x4c8921
mov dl, byte [edi]
mov ecx, ebx
xor esi, esi
jmp 0x4c887d
mov dl, byte [ecx + 1]
inc esi
inc ecx
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4c8878
lea eax, [edx - 0x41]
cmp al, 5
jbe 0x4c8878
lea eax, [edx - 0x61]
cmp al, 5
jbe 0x4c8878
mov edi, dword [ebp + 0x14]
test edi, edi
jne 0x4c8944
test dl, dl
jne 0x4c84c0
test esi, 1
jne 0x4c84c0
mov edx, dword [ebp - 0xa0]
test edx, edx
je case.default.0x4c83e2
mov eax, 0x2b
call fcn.004c49d0
mov edi, eax
test eax, eax
je case.0x4c83e2.0
push eax
push eax
push esi
push ebx
call fcn.00483b00
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x4ca48f
test esi, esi
jle 0x4c8901
xor edx, edx
mov al, byte [edx + ecx]
cmp al, 0x60
jbe 0x4c88fc
sub eax, 0x20
mov byte [edx + ecx], al
inc edx
cmp edx, esi
jne 0x4c88ef
mov eax, esi
mov dword [edi + 8], ecx
shr eax, 0x1f
add eax, esi
sar eax, 1
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0xa0]
mov dword [eax], edi
jmp case.default.0x4c83e2
inc ebx
mov dl, byte [ebx]
cmp dl, 0x20
je 0x4c8920
lea eax, [edx - 9]
cmp al, 1
jbe 0x4c8920
cmp dl, 0xd
jne 0x4c8872
inc ebx
jmp 0x4c8921
mov dl, byte [ecx + 1]
inc ecx
cmp dl, 0x20
je 0x4c8940
lea eax, [edx - 9]
cmp al, 1
jbe 0x4c8940
cmp dl, 0xd
je 0x4c8940
jmp 0x4c889d
mov al, byte [edi]
test al, al
je 0x4ca051
mov ebx, edi
mov dword [ebp - 0x74], 0
lea esi, [esi]
and eax, 0xff
call fcn.004c3ff0
test eax, eax
js 0x4c898e
cmp eax, 0x3f
jg 0x4c97da
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
inc ebx
mov al, byte [ebx]
test al, al
jne 0x4c8970
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0x74]
sar eax, 0x1f
shr eax, 0x1e
add eax, esi
sar eax, 2
lea eax, [eax + eax*2]
mov dword [ebp - 0x78], eax
xor esi, esi
test byte [ebp - 0x74], 3
jne 0x4c84c0
mov eax, dword [ebp - 0xa0]
test eax, eax
je case.default.0x4c83e2
mov eax, 0x2c
call fcn.004c49d0
mov dword [ebp - 0x50], eax
test eax, eax
je case.0x4c83e2.0
mov edx, dword [ebp - 0x74]
sub esp, 0xc
lea eax, [esi + edx + 1]
push eax
call dword [0x519088]
add esp, 0x10
test eax, eax
je 0x4ca4ae
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x7c], eax
mov dword [ecx + 8], eax
mov bl, byte [edi]
test bl, bl
je 0x4c8a26
mov esi, edi
xor eax, eax
mov al, bl
call fcn.004c3ff0
test eax, eax
js 0x4c8a1e
mov edi, dword [ebp - 0x7c]
mov byte [edi], bl
inc edi
mov dword [ebp - 0x7c], edi
mov bl, byte [esi + 1]
inc esi
test bl, bl
jne 0x4c8a08
mov eax, dword [ebp - 0x7c]
mov byte [eax], 0
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x78]
mov dword [edx + 0xc], ecx
mov esi, dword [ebp - 0xa0]
mov dword [esi], edx
jmp case.default.0x4c83e2
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x4c8a79
mov al, byte [edi]
lea edx, [edi + 1]
test al, al
je 0x4c8a79
cmp al, 0xd
je 0x4c84c0
cmp al, 0xa
je 0x4c84c0
cmp al, 9
je 0x4c84c0
cmp al, 0x20
je 0x4c96f0
mov al, byte [edx]
inc edx
test al, al
jne 0x4c8a52
mov eax, dword [ebp - 0xa0]
test eax, eax
je case.default.0x4c83e2
mov eax, 0x10
call fcn.004c49d0
mov ebx, eax
test eax, eax
je case.0x4c83e2.0
sub esp, 0xc
push edi
call fcn.00483c60
mov dword [ebx + 8], eax
add esp, 0x10
mov eax, dword [ebp - 0xa0]
mov dword [eax], ebx
jmp case.default.0x4c83e2
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], edi
mov edx, edi
test eax, eax
jne 0x4c8b86
mov al, byte [edx]
cmp al, 0x2d
je 0x4c9997
xor edi, edi
cmp al, 0x2b
je 0x4c9a2b
lea ebx, [ebp - 0x18]
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x10]
lea eax, [ebp - 0x1c]
push ebx
call fcn.004c4050
mov ebx, eax
pop eax
test ebx, ebx
js 0x4c84c0
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x4c8ba5
mov edx, dword [ebp - 0x1c]
cmp byte [edx], 0
jne 0x4c84c0
mov eax, dword [esi + 0x58]
cmp eax, 0x1f
je 0x4c9dc0
cmp eax, 0x22
je 0x4c9f30
cmp eax, 0x20
je 0x4ca0e1
cmp eax, 0x21
je 0x4ca170
mov edx, dword [ebp - 0xa0]
test edx, edx
je case.default.0x4c83e2
call fcn.004c49d0
mov edx, eax
test eax, eax
je case.default.0x4c83e2
mov cl, 1
test ebx, ebx
je 0x4c8b5b
mov cl, bl
mov eax, dword [ebp - 0x10]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [edx + 0x10], eax
mov eax, edi
mov byte [edx + 0x18], al
mov byte [edx + 0x19], cl
mov ecx, dword [ebp - 0xa0]
mov dword [ecx], edx
jmp case.default.0x4c83e2
inc edx
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x1c]
mov cl, byte [edx]
cmp cl, 0x20
je 0x4c8b82
lea eax, [ecx - 9]
cmp al, 1
jbe 0x4c8b82
cmp cl, 0xd
je 0x4c8b82
jmp 0x4c8ac7
inc edx
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x1c]
mov cl, byte [edx]
cmp cl, 0x20
je 0x4c8ba1
lea eax, [ecx - 9]
cmp al, 1
jbe 0x4c8ba1
cmp cl, 0xd
je 0x4c8ba1
jmp 0x4c8b06
lea eax, [ebp - 0x35]
mov dword [ebp - 0x1c], eax
mov bl, byte [edi]
test bl, bl
je 0x4c84c0
mov edx, edi
mov ecx, edi
mov edi, dword [ebp + 0x14]
test edi, edi
jne 0x4c8d15
cmp bl, 0x2d
je 0x4c9b9e
mov dword [ebp - 0x98], 0
cmp bl, 0x2b
je 0x4c9d1d
test bl, bl
je 0x4c84c0
mov dword [ebp - 0x90], 0
cmp bl, 0x30
jne 0x4c9c66
inc edx
mov al, byte [edx]
cmp al, 0x30
je 0x4c8c16
test al, al
jne 0x4c9c5a
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x94], 0xffffffff
mov esi, dword [ebp + 0x14]
test esi, esi
jne 0x4c96d2
test bl, bl
jne 0x4c84c0
mov ebx, dword [ebp - 0xa0]
test ebx, ebx
je case.default.0x4c83e2
mov eax, 3
call fcn.004c49d0
mov esi, eax
test eax, eax
je case.default.0x4c83e2
test edi, edi
je 0x4ca0a1
cmp dword [ebp - 0x94], 0xffffffff
je 0x4ca5c0
cmp edi, dword [ebp - 0x94]
je 0x4caa93
mov eax, dword [ebp - 0x1c]
lea edx, [eax - 1]
cmp byte [eax - 1], 0x30
je 0x4c8cac
jmp 0x4ca4ef
mov al, byte [edx - 1]
dec edx
cmp al, 0x30
jne 0x4ca41d
dec edi
mov dword [ebp - 0x1c], edx
cmp edi, dword [ebp - 0x94]
jne 0x4c8ca0
mov eax, dword [ebp - 0x94]
mov edi, eax
test eax, eax
je 0x4ca0a1
mov eax, dword [ebp - 0x1c]
lea ecx, [esi + 0xc]
lea edx, [esi + 8]
lea ebx, [esi + 0x10]
mov byte [eax], 0
lea eax, [ebp - 0x35]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push ebx
call fcn.004c4050
mov al, byte [esi + 0x18]
mov ecx, dword [ebp - 0x98]
and eax, 0xfffffffe
or eax, ecx
test edi, edi
mov byte [esi + 0x18], al
pop edx
jne 0x4ca51c
mov byte [esi + 0x19], 1
mov edx, dword [ebp - 0xa0]
mov dword [edx], esi
jmp case.default.0x4c83e2
mov bl, byte [ecx + 1]
inc ecx
mov edx, ecx
cmp bl, 0x20
je 0x4c8d11
lea eax, [ebx - 9]
cmp al, 1
jbe 0x4c8d11
cmp bl, 0xd
je 0x4c8d11
jmp 0x4c8bdf
push eax
push eax
push 1
push edi
call fcn.00447c20
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x4c83a2
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4c83a2
mov eax, 0x16
call fcn.004c49d0
mov ebx, eax
test eax, eax
je case.0x4c83e2.0
sub esp, 0xc
push edi
call fcn.00483c60
mov dword [ebx + 8], eax
add esp, 0x10
mov eax, dword [ebp - 0xa0]
mov dword [eax], ebx
jmp 0x4c83a2
push ebx
push ebx
push 1
push edi
call fcn.00447c20
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x4c83a2
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x4c8dce
mov eax, 0x17
call fcn.004c49d0
mov ebx, eax
test eax, eax
je case.0x4c83e2.0
sub esp, 0xc
push edi
call fcn.00483c60
mov dword [ebx + 8], eax
add esp, 0x10
mov edx, dword [ebp - 0xa0]
mov dword [edx], ebx
mov edx, dword [ebp + 8]
test edx, edx
je 0x4c83a2
mov ecx, dword [ebp + 8]
cmp dword [ecx + 4], 2
jne 0x4c83a2
cmp dword [ecx + 0x28], 2
je 0x4c83a2
mov eax, edi
call fcn.004c7a50
mov ebx, eax
test eax, eax
je 0x4ca35e
mov eax, dword [ebp + 8]
push eax
push ebx
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x20]
push eax
push 0
call fcn.00493150
mov dword [esp], ebx
mov edi, eax
call dword [0x519080]
add esp, 0x10
test edi, edi
je 0x4c99d2
mov edx, dword [ebp + 8]
mov dword [edx + 0x28], 2
jmp 0x4c83a2
push eax
push eax
push 1
push edi
call fcn.00447c20
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x4c83a2
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4c8e8c
mov eax, 0x18
call fcn.004c49d0
mov ebx, eax
test eax, eax
je case.0x4c83e2.0
sub esp, 0xc
push edi
call fcn.00483c60
mov dword [ebx + 8], eax
add esp, 0x10
mov ecx, dword [ebp - 0xa0]
mov dword [ecx], ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x4c83a2
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 2
jne 0x4c83a2
mov eax, edi
call fcn.004c7a50
mov ebx, eax
test eax, eax
je 0x4ca343
mov ecx, dword [ebp + 8]
push ecx
push eax
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x20]
push edx
push 0
call fcn.00492a00
mov dword [esp], ebx
call dword [0x519080]
add esp, 0x10
mov edi, dword [ebp + 8]
mov dword [edi + 0x28], 3
jmp 0x4c83a2
sub esp, 0xc
mov eax, dword [ebp + 8]
mov edx, edi
push eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [0x61efb0]
call fcn.004cab30
add esp, 0x10
test eax, eax
js 0x4c99d2
mov eax, dword [ebp + 8]
test eax, eax
je case.default.0x4c83e2
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 2
jne case.default.0x4c83e2
xor esi, esi
mov dword [eax + 0x28], 4
jmp 0x4c83a2
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x4c9789
mov al, byte [edi]
test al, al
je 0x4c8f80
cmp al, 0xd
je 0x4c84c0
cmp al, 0xa
je 0x4c84c0
mov edx, edi
cmp al, 9
jne 0x4c8f79
jmp 0x4c84c0
cmp al, 0xd
je 0x4c84c0
cmp al, 0xa
je 0x4c84c0
inc edx
cmp al, 9
je 0x4c84c0
mov al, byte [edx + 1]
test al, al
jne 0x4c8f60
mov eax, dword [ebp - 0xa0]
test eax, eax
je case.default.0x4c83e2
mov eax, 2
call fcn.004c49d0
mov ebx, eax
test eax, eax
je case.0x4c83e2.0
sub esp, 0xc
push edi
call fcn.00483c60
mov dword [ebx + 8], eax
add esp, 0x10
mov esi, dword [ebp - 0xa0]
mov dword [esi], ebx
jmp case.default.0x4c83e2
mov dword [ebp - 0x1c], edi
mov al, byte [edi]
cmp al, 0x2d
je 0x4c99a5
mov dword [ebp - 0x70], 0
cmp al, 0x2b
je 0x4c9a34
lea ebx, [ebp - 0x10]
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x1c]
push ebx
call fcn.004c4050
pop edi
mov ebx, eax
test eax, eax
js 0x4c84c0
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c84c0
mov eax, dword [esi + 0x58]
cmp eax, 0x25
je 0x4c9df0
cmp eax, 0x23
je 0x4c9f5f
cmp eax, 0x27
je 0x4ca064
cmp eax, 0x29
je 0x4ca17e
mov edx, dword [ebp - 0xa0]
test edx, edx
je case.default.0x4c83e2
call fcn.004c49d0
mov edx, eax
test eax, eax
je case.default.0x4c83e2
mov eax, dword [ebp - 0x18]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x10], eax
mov al, byte [ebp - 0x70]
mov byte [edx + 0x19], bl
mov byte [edx + 0x18], al
mov ecx, dword [ebp - 0xa0]
mov dword [ecx], edx
jmp case.default.0x4c83e2
mov ebx, dword [ebp + 0x14]
test ebx, ebx
jne 0x4c908b
cmp dword [ebp + 0x10], 2
je 0x4c9c10
cmp dword [ebp + 0x10], 3
je 0x4c9cd9
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je case.default.0x4c83e2
mov edx, dword [ebp - 0xa0]
test edx, edx
je case.default.0x4c83e2
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4c90cf
cmp dword [ebp + 0x10], 3
je 0x4ca1e7
cmp dword [ebp + 0x10], 2
je 0x4ca1fe
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x4c90cf
mov edi, dword [ebp - 0x9c]
mov eax, 1
call fcn.004c49d0
mov ebx, eax
test eax, eax
jne 0x4c860f
jmp case.0x4c83e2.0
mov esi, dword [ebp + 0x14]
test esi, esi
jne 0x4c9890
sub esp, 0xc
push edi
call fcn.0044af20
add esp, 0x10
cmp eax, 1
jne 0x4c84c0
mov ebx, dword [ebp - 0xa0]
test ebx, ebx
je case.default.0x4c83e2
mov al, 0x11
call fcn.004c49d0
mov ebx, eax
test eax, eax
jne 0x4c8425
jmp case.0x4c83e2.0
push ebx
push ebx
push 1
push edi
call fcn.004476b0
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x4c83a2
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4c9a12
lea eax, [ebp - 0x1c]
push edx
push edx
push eax
push edi
call fcn.00441800
add esp, 0xc
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20]
push eax
call fcn.0043e660
add esp, 0x10
test eax, eax
je 0x4c9fa0
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4c91a3
sub esp, 0xc
push eax
call dword [0x519080]
add esp, 0x10
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4c9a3f
mov eax, 0x15
call fcn.004c49d0
mov ebx, eax
test eax, eax
je 0x4c9ff9
mov edx, dword [ebp - 0x84]
test edx, edx
je 0x4ca2c6
mov ecx, dword [ebp - 0x84]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x4c91fb
sub esp, 0xc
mov eax, dword [ebp - 0x88]
push eax
call fcn.00483c60
add esp, 0x10
mov dword [ebx + 0xc], eax
mov edi, dword [ebp - 0xa0]
mov dword [edi], ebx
jmp 0x4c83a2
push esi
push esi
push 1
push edi
call fcn.004476b0
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x4c9771
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x4c9771
lea eax, [ebp - 0x1c]
push ecx
push ecx
push eax
push edi
call fcn.00441800
mov ebx, eax
mov eax, dword [ebp - 0x1c]
add esp, 0x10
test eax, eax
je 0x4c99eb
push edx
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.0043e660
add esp, 0x10
test eax, eax
je 0x4c99e6
mov edx, dword [ebp - 0xa0]
test edx, edx
je 0x4c99eb
sub esp, 0xc
mov eax, dword [eax + 8]
push eax
call fcn.00483c60
add esp, 0x10
mov dword [ebp - 0x80], eax
test ebx, ebx
je 0x4c92a2
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4c9295
test esi, esi
je 0x4c92a2
sub esp, 0xc
push ebx
call dword [0x519080]
add esp, 0x10
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4c92b6
sub esp, 0xc
push eax
call dword [0x519080]
add esp, 0x10
mov eax, dword [ebp + 8]
test eax, eax
je 0x4c977f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x4c977f
test esi, esi
jne 0x4c83a2
push ecx
push edi
push eax
push 0
call fcn.004915a0
add esp, 0x10
cmp eax, 1
jne 0x4c864f
mov edx, dword [ebp - 0xa0]
test edx, edx
je 0x4c83a2
mov al, 0x1c
call fcn.004c49d0
mov dword [ebp - 0x54], eax
test eax, eax
je 0x4c8441
test ebx, ebx
je 0x4ca7a8
mov dword [eax + 8], ebx
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4c9328
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x80]
mov dword [edi + 0xc], eax
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x54]
mov dword [edx], ecx
jmp 0x4c83a2
cmp byte [edi], 0
je 0x4c974a
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x4c9b15
sub esp, 0xc
push edi
call fcn.00483c60
add esp, 0x10
mov esi, eax
mov dl, byte [eax]
test dl, dl
je 0x4c971f
mov ecx, eax
jmp 0x4c93ac
cmp dl, 0x3c
je 0x4c93b3
cmp dl, 0x3e
je 0x4c93b3
cmp dl, 0x22
je 0x4c93b3
cmp dl, 0x7b
je 0x4c93b3
cmp dl, 0x7d
je 0x4c93b3
cmp dl, 0x7c
je 0x4c93b3
cmp dl, 0x5c
je 0x4c93b3
cmp dl, 0x5e
je 0x4c93b3
cmp dl, 0x60
je 0x4c93b3
cmp dl, 0x27
je 0x4c93b3
lea esi, [esi]
mov dl, byte [ecx + 1]
inc ecx
test dl, dl
je 0x4c971f
lea eax, [edx - 0x21]
cmp al, 0x5d
jbe 0x4c9368
mov byte [ecx], 0x5f
jmp 0x4c93a0
mov eax, dword [ebp + 8]
test eax, eax
jne 0x4c9b36
mov eax, dword [ebp - 0x9c]
mov esi, 3
test eax, eax
jne 0x4c83ac
jmp 0x4c83bf
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], edi
mov ecx, edi
test eax, eax
jne 0x4c94fb
mov al, byte [ecx]
cmp al, 0x2d
je 0x4c9407
cmp al, 0x2f
ja 0x4c9407
mov esi, 1
cmp al, 0x39
ja 0x4c83a2
xor eax, eax
or esi, 0xffffffff
call fcn.004c49d0
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x4c83a2
mov edx, dword [ebp - 0x1c]
mov al, byte [edx]
cmp al, 0x2d
je 0x4c9a65
sub eax, 0x30
cmp al, 9
jbe 0x4c9bb0
mov dword [ebp - 0x1c], edi
mov dl, byte [edi]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x4c99b7
mov dword [ebp - 0x64], 0
cmp dl, 0x2d
je 0x4c99c0
cmp al, 9
ja 0x4c94de
mov ecx, edi
mov dword [ebp - 0x68], 0
mov esi, dword [ebp - 0x6c]
and edx, 0xff
inc ecx
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*2 - 0x30]
mov eax, dword [ebp - 0x6c]
mov dword [eax + 8], esi
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
mov dl, byte [ecx]
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4c9465
cmp dword [ebp - 0x68], 3
jle 0x4c94de
cmp dword [ebp - 0x68], 4
je 0x4c94a0
cmp byte [edi], 0x30
je 0x4c94de
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4c94af
mov edx, dword [ebp - 0x6c]
neg esi
mov dword [edx + 8], esi
mov esi, dword [ebp - 0x6c]
mov eax, dword [esi + 8]
test eax, eax
je 0x4c94de
mov dword [ebp - 0x1c], ecx
mov al, byte [ecx]
test al, al
je 0x4ca107
cmp al, 0x5a
je 0x4ca107
cmp al, 0x2b
je 0x4ca107
cmp al, 0x2d
je 0x4ca107
sub esp, 0xc
mov ebx, dword [ebp - 0x6c]
mov esi, 1
push ebx
call fcn.004c3af0
add esp, 0x10
jmp 0x4c83a2
inc ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x4c94f7
lea eax, [edx - 9]
cmp al, 1
jbe 0x4c94f7
cmp dl, 0xd
je 0x4c94f7
jmp 0x4c93f0
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x4c9626
mov dl, byte [edi]
mov dword [ebp - 0x60], 0
cmp dl, 0x2d
je 0x4c98b1
cmp dl, 0x50
jne 0x4c864f
lea ebx, [edi + 1]
cmp byte [edi + 1], 0
je 0x4c864f
mov eax, 0xc
or esi, 0xffffffff
call fcn.004c49d0
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x4c83a2
mov dl, byte [edi + 1]
xor esi, esi
xor edi, edi
test dl, dl
je 0x4ca588
cmp esi, 5
ja 0x4c960c
cmp dl, 0x54
je 0x4ca23d
cmp esi, 3
je 0x4c960c
lea eax, [edx - 0x30]
cmp al, 9
ja 0x4c960c
fldz
xor eax, eax
inc ebx
mov al, dl
fmul dword [0x543024]
sub eax, 0x30
push eax
mov dl, byte [ebx]
fild dword [esp]
lea eax, [edx - 0x30]
add esp, 4
faddp st(1)
mov cl, dl
cmp al, 9
jbe 0x4c9594
test edi, edi
jne 0x4ca161
cmp dl, 0x2e
je 0x4ca39e
test cl, cl
je 0x4c960a
cmp esi, 5
ja 0x4ca5f2
cmp byte [esi + str.YMDHMS], cl
je 0x4ca424
lea edx, [esi + 1]
cmp edx, 3
je 0x4c960a
cmp edx, 6
je 0x4c960a
lea eax, [esi + str.YMDHMS]
mov esi, edx
cmp byte [eax + 1], cl
je 0x4ca424
inc esi
cmp esi, 3
je 0x4c960a
inc eax
cmp esi, 6
jne 0x4c95f5
fstp st(0)
sub esp, 0xc
mov eax, dword [ebp - 0x5c]
mov esi, 1
push eax
call fcn.004c3af0
add esp, 0x10
jmp 0x4c83a2
inc edi
mov dl, byte [edi]
cmp dl, 0x20
je 0x4c9625
lea eax, [edx - 9]
cmp al, 1
jbe 0x4c9625
cmp dl, 0xd
jne 0x4c9523
inc edi
jmp 0x4c9626
mov dl, byte [ecx + 1]
inc ecx
cmp dl, 0x20
je 0x4c9640
lea eax, [edx - 9]
cmp al, 1
jbe 0x4c9640
cmp dl, 0xd
je 0x4c9640
test dl, dl
jne 0x4c84c0
jmp 0x4c8535
mov bl, byte [edx + 1]
inc edx
cmp bl, 0x20
je 0x4c9662
lea eax, [ebx - 9]
cmp al, 1
jbe 0x4c9662
cmp bl, 0xd
je 0x4c9662
jmp 0x4c8751
test cl, cl
je 0x4ca2bf
cmp cl, 0x20
je 0x4ca2bf
cmp cl, 0xd
je 0x4ca2bf
mov ebx, edx
inc ebx
mov cl, byte [ebx]
test cl, cl
je 0x4c96ab
cmp cl, 0x20
je 0x4c96ab
lea eax, [ecx - 9]
cmp al, 1
ja 0x4c96e8
mov eax, ebx
sub eax, edx
push edi
push edi
push eax
push edx
call fcn.00483b00
mov edi, dword [ebp - 0x58]
mov dword [edi + 8], eax
add esp, 0x10
mov eax, dword [ebp - 0xa0]
mov dword [eax], edi
jmp 0x4c83a2
mov bl, byte [edx + 1]
inc edx
cmp bl, 0x20
je 0x4c96ce
lea eax, [ebx - 9]
cmp al, 1
jbe 0x4c96ce
cmp bl, 0xd
je 0x4c96ce
jmp 0x4c8c3e
cmp cl, 0xd
jne 0x4c9698
jmp 0x4c96ab
mov al, byte [edx]
test al, al
je 0x4c84c0
cmp al, 0x20
je 0x4c84c0
inc edx
jmp 0x4c8a4e
sub esp, 0xc
push edi
call fcn.004c4900
add esp, 0x10
mov dword [ebp - 0x9c], eax
jmp 0x4c8385
sub esp, 0xc
push esi
call fcn.004ce2a0
mov dword [esp], esi
mov ebx, eax
call dword [0x519080]
add esp, 0x10
test ebx, ebx
je 0x4c84c0
sub esp, 0xc
push ebx
call fcn.004cb250
add esp, 0x10
mov eax, dword [ebp - 0xa0]
test eax, eax
je case.default.0x4c83e2
mov eax, 0x1d
call fcn.004c49d0
mov ebx, eax
test eax, eax
jne 0x4c8fa2
jmp case.0x4c83e2.0
xor ebx, ebx
mov dword [ebp - 0x80], 0
jmp 0x4c92b6
mov esi, 3
jmp 0x4c83a2
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4c8f80
cmp dword [ebp + 0x10], 3
je 0x4c9ed0
sub esp, 0xc
push edi
call fcn.004c4900
add esp, 0x10
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x4c8f80
mov edi, dword [ebp - 0x9c]
jmp 0x4c8f80
cmp dl, 0x2b
jne 0x4c86e3
inc ecx
mov dl, byte [ecx]
jmp 0x4c86e3
mov al, byte [ebx]
xor esi, esi
test al, al
je 0x4c8995
and eax, 0xff
call fcn.004c3ff0
test eax, eax
js 0x4c97fd
cmp eax, 0x3f
jle 0x4c84c0
cmp eax, 0x40
sete al
inc ebx
and eax, 0xff
add esi, eax
mov al, byte [ebx]
test al, al
jne 0x4c97e6
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
sar edx, 0x1f
shr edx, 0x1e
lea ecx, [edx + eax]
mov eax, ecx
sar eax, 2
test esi, esi
lea eax, [eax + eax*2]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x78], eax
je 0x4c89ae
cmp esi, 1
je 0x4c9e5f
cmp esi, 2
jne 0x4c84c0
and ecx, 3
sub ecx, edx
cmp ecx, 2
jne 0x4c84c0
xor eax, eax
call fcn.004c3ff0
cmp eax, 0x3f
jbe 0x4c9875
xor eax, eax
mov al, byte [ebx - 1]
dec ebx
call fcn.004c3ff0
cmp eax, 0x3f
ja 0x4c9865
and eax, 0xffffffcf
jne 0x4c84c0
mov ecx, dword [ebp - 0xa4]
inc ecx
mov dword [ebp - 0x78], ecx
jmp 0x4c89b8
sub esp, 0xc
push edi
call fcn.004c6cb0
add esp, 0x10
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x4c90f3
mov edi, eax
jmp 0x4c90f3
inc edi
mov dl, byte [edi]
mov dword [ebp - 0x60], 1
jmp 0x4c9533
cmp byte [ecx + 1], 0x61
jne 0x4c86fd
cmp byte [ecx + 2], 0x4e
jne 0x4c86fd
cmp byte [ecx + 3], 0
jne 0x4c84c0
mov eax, dword [ebp - 0xa0]
test eax, eax
je case.default.0x4c83e2
cmp esi, dword [0x61ef90]
je 0x4ca60a
mov eax, 0xe
call fcn.004c49d0
mov ecx, eax
test eax, eax
je 0x4caa6b
mov eax, dword [0x61ec58]
mov edx, dword [0x61ec5c]
mov dword [ecx + 0xc], edx
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
jmp case.default.0x4c83e2
cmp byte [ecx + 1], 0x4e
jne 0x4c86db
cmp byte [ecx + 2], 0x46
jne 0x4c86db
cmp byte [ecx + 3], 0
jne 0x4c84c0
mov eax, dword [ebp - 0xa0]
test eax, eax
je case.default.0x4c83e2
cmp esi, dword [0x61ef90]
je 0x4ca55e
mov eax, 0xe
call fcn.004c49d0
mov ecx, eax
test eax, eax
je 0x4caa6b
test ebx, ebx
je 0x4ca548
mov eax, dword [0x519218]
mov edx, dword [0x51921c]
mov dword [ecx + 0xc], edx
mov dword [ecx + 8], eax
jmp 0x4c991d
inc edx
mov edi, 1
mov dword [ebp - 0x1c], edx
jmp 0x4c8adb
lea eax, [edi + 1]
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x1c], eax
jmp 0x4c8fda
cmp dl, 0x2d
jne 0x4c94de
inc edi
mov dl, byte [edi]
mov dword [ebp - 0x64], 1
lea eax, [edx - 0x30]
jmp 0x4c9454
mov esi, 2
jmp 0x4c83a2
inc ecx
mov bl, 1
mov dl, byte [ecx]
jmp 0x4c86d2
mov esi, 1
mov dword [ebp - 0x80], 0
jmp 0x4c9283
sub esp, 0xc
mov ecx, dword [ebp - 0x9c]
or esi, 0xffffffff
push ecx
call dword [0x519080]
add esp, 0x10
jmp 0x4c83bf
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
jmp 0x4c91a3
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x4c8adb
lea eax, [edi + 1]
mov dword [ebp - 0x1c], eax
jmp 0x4c8fda
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x4c83a2
sub esp, 0xc
mov eax, dword [ebp - 0x84]
push eax
call dword [0x519080]
add esp, 0x10
jmp 0x4c83a2
cmp byte [edx + 1], 0x2d
jne 0x4c9429
lea ecx, [edx + 2]
mov dword [ebp - 0x1c], ecx
cmp byte [edx + 2], 0x2d
jne 0x4ca253
cmp ebx, 6
je 0x4c94de
mov esi, dword [ebp - 0x6c]
lea ecx, [edx + 3]
add esi, 8
mov dword [ebp - 0x1c], ecx
lea edx, [ebp - 0x1c]
mov eax, esi
call fcn.004c3c20
test eax, eax
jne 0x4c94de
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
test al, al
je 0x4c9abf
cmp al, 0x5a
je 0x4c9abf
cmp al, 0x2b
je 0x4c9abf
cmp al, 0x2d
jne 0x4c94de
lea edx, [ebp - 0x1c]
mov eax, esi
call fcn.004c3e50
test eax, eax
jne 0x4c94de
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c94de
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], 5
test ebx, ebx
je 0x4c9af5
mov edx, dword [ebp - 0x6c]
cmp ebx, dword [edx]
jne 0x4c94de
mov edi, dword [ebp - 0xa0]
test edi, edi
je 0x4ca699
mov ecx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x6c]
mov dword [ecx], esi
xor esi, esi
jmp 0x4c83a2
sub esp, 0xc
push edi
call fcn.004c6cb0
add esp, 0x10
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x4c934c
mov edi, eax
jmp 0x4c934c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x4c93c3
sub esp, 0xc
push edx
mov edx, edi
mov ecx, dword [ebp - 0xa0]
mov eax, dword [0x61efc0]
call fcn.004cab30
add esp, 0x10
test eax, eax
jle 0x4c864f
mov edi, dword [ebp + 8]
cmp dword [edi + 4], 2
jne case.default.0x4c83e2
mov ecx, dword [ebp + 8]
xor esi, esi
mov dword [ecx + 0x28], 6
jmp 0x4c83a2
cmp byte [edi + 1], 0
jne 0x4c84c0
xor ebx, ebx
jmp 0x4c8535
lea eax, [ecx + 1]
xor ebx, ebx
jmp 0x4c8529
inc edx
mov bl, byte [edx]
mov dword [ebp - 0x98], 1
jmp 0x4c8bfb
mov esi, dword [ebp - 0x6c]
lea edx, [ebp - 0x1c]
add esi, 8
mov eax, esi
call fcn.004c3ca0
test eax, eax
jne 0x4c9434
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
test al, al
je 0x4c9be1
cmp al, 0x5a
je 0x4c9be1
cmp al, 0x2b
je 0x4c9be1
cmp al, 0x2d
jne 0x4c9434
lea edx, [ebp - 0x1c]
mov eax, esi
call fcn.004c3e50
test eax, eax
jne 0x4c9434
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c94de
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], 4
jmp 0x4c9ae6
mov al, byte [edi]
test al, al
je 0x4c908b
cmp al, 0xd
je 0x4c84c0
cmp al, 0xa
je 0x4c84c0
mov edx, edi
cmp al, 9
jne 0x4c9c46
jmp 0x4c84c0
cmp al, 0xa
je 0x4c84c0
inc edx
cmp al, 9
je 0x4c84c0
mov al, byte [edx + 1]
test al, al
je 0x4c908b
cmp al, 0xd
jne 0x4c9c35
jmp 0x4c84c0
mov bl, al
mov dword [ebp - 0x90], 1
xor edi, edi
jmp 0x4c9c86
mov eax, dword [ebp - 0x1c]
inc edi
inc edx
mov byte [eax], bl
inc eax
mov dword [ebp - 0x1c], eax
cmp edi, 0x18
je 0x4c9fe8
mov bl, byte [edx]
lea eax, [ebx - 0x30]
cmp al, 9
jbe 0x4c9c70
mov dword [ebp - 0x94], 0xffffffff
cmp bl, 0x2e
jne 0x4c8c33
inc edx
mov esi, edi
mov cl, byte [edx]
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x4c9cbc
mov eax, dword [ebp - 0x1c]
inc esi
inc edx
mov byte [eax], cl
inc eax
mov dword [ebp - 0x1c], eax
cmp esi, 0x17
jbe 0x4c9ca3
mov ecx, dword [ebp - 0x90]
or ecx, esi
je 0x4c84c0
mov bl, byte [edx]
mov dword [ebp - 0x94], edi
mov edi, esi
jmp 0x4c8c33
mov al, byte [edi]
lea edx, [edi + 1]
test al, al
je 0x4c908b
cmp al, 0xd
je 0x4c84c0
cmp al, 0xa
je 0x4c84c0
cmp al, 9
je 0x4c84c0
cmp al, 0x20
je 0x4c9d10
mov al, byte [edx]
inc edx
test al, al
jne 0x4c9ce6
jmp 0x4c908b
mov al, byte [edx]
cmp al, 0x20
je 0x4c84c0
inc edx
jmp 0x4c9cde
inc edx
mov bl, byte [edx]
jmp 0x4c8bfb
lea eax, [ecx + 1]
mov ebx, 1
jmp 0x4c8529
cmp byte [edi + 1], 0
jne 0x4c84c0
mov ebx, 1
jmp 0x4c8535
lea edx, [ecx + 1]
mov dword [ebp - 0xac], edx
mov al, byte [ecx + 1]
sub eax, 0x30
cmp al, 9
ja 0x4ca488
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0x8c]
mov al, byte [edx + ecx + 1]
sub eax, 0x30
cmp al, 9
jbe 0x4c9d5d
mov ecx, dword [ebp - 0xac]
jmp 0x4c8724
cmp byte [edi + 1], 0x72
jne 0x4c84c0
cmp byte [edi + 2], 0x75
jne 0x4c84c0
cmp byte [edi + 3], 0x65
jne 0x4c84c0
cmp byte [edi + 4], 0
jne 0x4c84c0
jmp 0x4c9d3c
test edi, edi
jne 0x4c8b36
mov edx, dword [ebp - 0x18]
test edx, edx
jne 0x4c84c0
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x4c84c0
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x4c84c0
jmp 0x4c8b36
mov edx, dword [ebp - 0x10]
cmp edx, 0x399
jbe 0x4c902a
cmp edx, 0x39a
jne 0x4c84c0
mov edx, dword [ebp - 0x14]
cmp edx, 0x202882f
jbe 0x4c902a
cmp edx, 0x2028830
jne 0x4c84c0
mov ecx, dword [ebp - 0x70]
test ecx, ecx
jne 0x4caa4f
cmp dword [ebp - 0x18], 0x343cfff
ja 0x4c84c0
jmp 0x4c902a
inc ecx
mov bl, byte [ecx]
cmp bl, 0x2d
je 0x4c9e50
cmp bl, 0x2b
jne 0x4c9e53
inc ecx
mov bl, byte [ecx]
lea eax, [ebx - 0x30]
cmp al, 9
jbe 0x4c9e50
jmp 0x4c8744
and ecx, 3
sub ecx, edx
cmp ecx, 3
jne 0x4c84c0
xor eax, eax
call fcn.004c3ff0
cmp eax, 0x3f
jbe 0x4c9e89
xor eax, eax
mov al, byte [ebx - 1]
dec ebx
call fcn.004c3ff0
cmp eax, 0x3f
ja 0x4c9e79
and eax, 0xffffffc3
jne 0x4c84c0
mov edx, dword [ebp - 0xa4]
add edx, 2
mov dword [ebp - 0x78], edx
jmp 0x4c89b8
cmp byte [ecx + 1], 0x72
jne 0x4c84c0
cmp byte [ecx + 2], 0x75
jne 0x4c84c0
cmp byte [ecx + 3], 0x65
jne 0x4c84c0
lea eax, [ecx + 4]
mov ebx, 1
jmp 0x4c8529
sub esp, 0xc
push edi
call fcn.004c6cb0
add esp, 0x10
mov dword [ebp - 0x9c], eax
jmp 0x4c97b0
mov edx, dword [ebp - 0x18]
cmp edx, 0x733
jbe 0x4c8820
cmp edx, 0x734
jne 0x4c84c0
mov edx, dword [ebp - 0x14]
cmp edx, 0x4051060
jbe 0x4c8820
cmp edx, 0x4051061
jne 0x4c84c0
cmp dword [ebp - 0x10], 0x91beff
ja 0x4c84c0
jmp 0x4c8820
cmp edi, 1
je 0x4c84c0
mov edx, dword [ebp - 0x18]
test edx, edx
jne 0x4c8b36
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x4c8b36
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x4c84c0
jmp 0x4c8b36
mov edx, dword [ebp - 0x10]
test edx, edx
jne 0x4c84c0
mov edx, dword [ebp - 0x14]
cmp edx, 0x14
jbe 0x4c902a
cmp edx, 0x15
jne 0x4c84c0
mov edi, dword [ebp - 0x70]
test edi, edi
jne 0x4ca630
cmp dword [ebp - 0x18], 0x2d48aff
ja 0x4c84c0
jmp 0x4c902a
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x88], 0
test eax, eax
je 0x4c91a3
sub esp, 0xc
push eax
call dword [0x519080]
mov eax, dword [ebp - 0x84]
add esp, 0x10
test eax, eax
je 0x4c84c0
sub esp, 0xc
mov eax, dword [ebp - 0x84]
push eax
call dword [0x519080]
add esp, 0x10
jmp 0x4c84c0
mov bl, byte [edx]
mov dword [ebp - 0x94], 0xffffffff
jmp 0x4c8c33
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je case.0x4c83e2.0
sub esp, 0xc
mov ecx, dword [ebp - 0x84]
push ecx
call dword [0x519080]
add esp, 0x10
jmp case.0x4c83e2.0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x4c84c0
mov edx, dword [ebp - 0x14]
cmp edx, 0x29
jbe 0x4c8820
cmp edx, 0x2a
jne 0x4c84c0
cmp dword [ebp - 0x10], 0x5a915ff
ja 0x4c84c0
jmp 0x4c8820
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
jmp 0x4c89ac
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x4c84c0
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x4c84c0
cmp dword [ebp - 0x70], 1
je 0x4ca679
mov edx, dword [ebp - 0x70]
test edx, edx
jne 0x4c902a
cmp dword [ebp - 0x18], 0x7fff
ja 0x4c84c0
jmp 0x4c902a
mov al, byte [esi + 0x18]
mov edx, dword [ebp - 0x98]
and eax, 0xfffffffe
or eax, edx
mov byte [esi + 0x18], al
jmp 0x4c8d00
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x4ca37b
mov edi, dword [ebp + 8]
cmp dword [edi + 4], 2
jne 0x4c83a2
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], 5
jmp 0x4c83a2
test edi, edi
je 0x4c84c0
jmp 0x4c9f39
push eax
push eax
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x20]
push eax
call fcn.00487660
add esp, 0x10
mov edi, eax
jmp 0x4c85c3
mov edi, dword [ebp - 0x6c]
lea edx, [ebp - 0x1c]
add edi, 8
mov eax, edi
call fcn.004c3e50
test eax, eax
jne 0x4ca2da
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c94de
mov edi, dword [ebp - 0x6c]
mov dword [edi], 8
jmp 0x4c9ae6
mov edx, dword [ebp - 0x14]
test edx, edx
jne 0x4c84c0
mov edi, dword [ebp - 0x18]
test edi, edi
jne 0x4c84c0
cmp dword [ebp - 0x10], 0xffff
ja 0x4c84c0
jmp 0x4c8820
cmp edi, 0xffffffff
jne 0x4c95c7
jmp 0x4c960a
cmp edi, 1
jne 0x4c8b36
jmp 0x4c9dc8
mov edi, dword [ebp - 0x14]
test edi, edi
jne 0x4c84c0
mov esi, dword [ebp - 0x10]
test esi, esi
jne 0x4c84c0
cmp dword [ebp - 0x70], 1
je 0x4ca536
mov ecx, dword [ebp - 0x70]
test ecx, ecx
jne 0x4c902a
cmp dword [ebp - 0x18], 0x7f
ja 0x4c84c0
jmp 0x4c902a
cmp byte [edi + 2], 0x6c
jne 0x4c84c0
cmp byte [edi + 3], 0x73
jne 0x4c84c0
cmp byte [edi + 4], 0x65
jne 0x4c84c0
cmp byte [edi + 5], 0
jne 0x4c84c0
xor ebx, ebx
jmp 0x4c8535
sub esp, 0xc
push edi
call fcn.004c6cb0
add esp, 0x10
mov dword [ebp - 0x9c], eax
jmp 0x4c90bf
sub esp, 0xc
push edi
call fcn.004c4900
add esp, 0x10
mov dword [ebp - 0x9c], eax
jmp 0x4c90bf
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x4c84c0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x4c84c0
cmp dword [ebp - 0x10], 0xff
ja 0x4c84c0
jmp 0x4c8820
cmp esi, 3
ja 0x4c864f
inc ebx
mov esi, 3
mov dl, byte [ebx]
jmp 0x4c958b
mov esi, dword [ebp - 0x6c]
lea edx, [ebp - 0x1c]
add esi, 8
mov eax, esi
call fcn.004c3ba0
test eax, eax
jne 0x4c94de
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xa8], ecx
cmp byte [ecx], 0x2d
je 0x4ca6af
mov al, byte [ecx]
test al, al
je 0x4ca293
cmp al, 0x5a
je 0x4ca293
cmp al, 0x2b
je 0x4ca293
cmp al, 0x2d
jne 0x4c94de
lea edx, [ebp - 0x1c]
mov eax, esi
call fcn.004c3e50
test eax, eax
jne 0x4c94de
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c94de
mov edx, dword [ebp - 0x6c]
mov dword [edx], 6
jmp 0x4c9ae6
xor eax, eax
jmp 0x4c96af
sub esp, 0xc
push edi
call fcn.00483c60
add esp, 0x10
mov dword [ebx + 8], eax
jmp 0x4c91dc
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0x2d
jne 0x4c94de
lea ecx, [eax + 1]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
mov eax, edi
call fcn.004c3ba0
test eax, eax
jne 0x4c94de
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
test al, al
je 0x4ca317
cmp al, 0x5a
je 0x4ca317
cmp al, 0x2b
je 0x4ca317
cmp al, 0x2d
jne 0x4c94de
lea edx, [ebp - 0x1c]
mov eax, edi
call fcn.004c3e50
test eax, eax
jne 0x4ca7bf
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c94de
mov eax, dword [ebp - 0x6c]
mov dword [eax], 9
jmp 0x4c9ae6
mov eax, dword [ebp + 8]
push eax
push edi
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20]
push eax
push 0
call fcn.00492a00
add esp, 0x10
jmp 0x4c8ed4
mov eax, dword [ebp + 8]
push eax
push edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
push 0
call fcn.00493150
add esp, 0x10
mov edi, eax
jmp 0x4c8e22
push 0xb0b
push str.xmlschemastypes.c
push 0x5424fa
mov eax, dword [0x61e0b0]
push eax
call dword [0x5190a8]
add esp, 0x10
jmp 0x4ca0c5
inc ebx
mov dl, byte [ebx]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x4c960a
fld dword [0x543020]
fdiv dword [0x543024]
xor eax, eax
inc ebx
mov al, dl
sub eax, 0x30
push eax
mov cl, byte [ebx]
mov dl, cl
lea eax, [ecx - 0x30]
fild dword [esp]
fmul st(1)
add esp, 4
cmp al, 9
faddp st(2)
jbe 0x4ca3b2
fstp st(0)
mov edi, 1
jmp 0x4c95c7
mov eax, 0xd
call fcn.004c49d0
mov ebx, eax
test eax, eax
je case.0x4c83e2.0
push eax
lea eax, [ebx + 8]
push eax
push 0x542cd3
push edi
call sub.msvcrt.dll_sscanf
add esp, 0x10
dec eax
jne 0x4ca5f9
mov ecx, dword [ebp - 0xa0]
mov dword [ecx], ebx
jmp case.default.0x4c83e2
mov eax, edi
jmp 0x4c8cc0
test edi, edi
je 0x4ca431
cmp esi, 4
jbe 0x4c960a
test esi, esi
jne 0x4ca4d0
fnstcw word [ebp - 0x42]
mov ax, word [ebp - 0x42]
mov ah, 0xc
mov edx, dword [ebp - 0x5c]
mov word [ebp - 0x44], ax
fldcw word [ebp - 0x44]
fistp dword [ebp - 0x48]
fldcw word [ebp - 0x42]
mov eax, dword [ebp - 0x48]
lea eax, [eax + eax*2]
shl eax, 2
mov dword [edx + 8], eax
mov eax, dword [ebp + 0x14]
inc ebx
test eax, eax
jne 0x4ca46e
mov dl, byte [ebx]
jmp 0x4c9568
inc ebx
mov dl, byte [ebx]
cmp dl, 0x20
je 0x4ca46d
lea eax, [edx - 9]
cmp al, 1
jbe 0x4ca46d
cmp dl, 0xd
jne 0x4c9568
inc ebx
jmp 0x4ca46e
mov ecx, edx
jmp 0x4c8724
mov edx, str.allocating_hexbin_data
mov eax, dword [ebp + 8]
call fcn.004c7af0
sub esp, 0xc
push edi
call dword [0x519080]
add esp, 0x10
jmp 0x4c84c0
mov edx, str.allocating_base64_data
mov eax, dword [ebp + 8]
call fcn.004c7af0
sub esp, 0xc
mov eax, dword [ebp - 0x50]
push eax
call dword [0x519080]
add esp, 0x10
jmp 0x4c84c0
cmp esi, 1
je 0x4ca650
fmul qword [esi*8 + 0x542fe0]
mov eax, dword [ebp - 0x5c]
inc esi
fadd qword [eax + 0x10]
fstp qword [eax + 0x10]
jmp 0x4ca45e
mov byte [eax], 0
lea eax, [ebp - 0x35]
mov dword [ebp - 0x1c], eax
lea ecx, [esi + 0xc]
lea ebx, [esi + 0x10]
lea eax, [ebp - 0x1c]
lea edx, [esi + 8]
push ebx
call fcn.004c4050
mov al, byte [esi + 0x18]
mov ebx, dword [ebp - 0x98]
and eax, 0xfffffffe
or eax, ebx
mov byte [esi + 0x18], al
pop ecx
mov edx, edi
and eax, 1
mov byte [esi + 0x19], dl
sub dl, byte [ebp - 0x94]
add edx, edx
or eax, edx
mov byte [esi + 0x18], al
jmp 0x4c8d04
cmp dword [ebp - 0x18], 0x80
ja 0x4c84c0
jmp 0x4c902a
mov eax, dword [0x519210]
mov edx, dword [0x519214]
mov dword [ecx + 0xc], edx
mov dword [ecx + 8], eax
jmp 0x4c991d
mov eax, 0xd
call fcn.004c49d0
mov ecx, eax
test eax, eax
je 0x4caa6b
test ebx, ebx
je 0x4ca68b
fld qword [0x519218]
fstp dword [eax + 8]
jmp 0x4c991d
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x4ca5a0
mov edx, dword [ebp - 0x5c]
fld qword [edx + 0x10]
fchs
neg dword [edx + 8]
neg dword [edx + 0xc]
fstp qword [edx + 0x10]
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x4caa7d
mov ecx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x5c]
mov dword [ecx], esi
xor esi, esi
jmp 0x4c83a2
mov eax, dword [ebp - 0x1c]
lea ecx, [esi + 0xc]
lea edx, [esi + 8]
lea ebx, [esi + 0x10]
mov byte [eax], 0
lea eax, [ebp - 0x35]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push ebx
call fcn.004c4050
mov edx, edi
mov byte [esi + 0x19], dl
mov cl, byte [ebp - 0x98]
mov byte [esi + 0x18], cl
pop edi
jmp 0x4c8d04
fstp st(0)
jmp 0x4ca45e
sub esp, 0xc
push ebx
call fcn.004c3af0
add esp, 0x10
jmp 0x4c84c0
mov eax, 0xd
call fcn.004c49d0
mov ecx, eax
test eax, eax
je 0x4caa6b
fld qword [0x61ec58]
fstp dword [eax + 8]
jmp 0x4c991d
cmp dword [ebp - 0x70], 1
jne 0x4c902a
cmp dword [ebp - 0x18], 0x2d48b00
ja 0x4c84c0
jmp 0x4c902a
fnstcw word [ebp - 0x42]
mov ax, word [ebp - 0x42]
mov ah, 0xc
mov ecx, dword [ebp - 0x5c]
mov word [ebp - 0x44], ax
fldcw word [ebp - 0x44]
fistp dword [ebp - 0x48]
fldcw word [ebp - 0x42]
mov eax, dword [ebp - 0x48]
mov edx, dword [ecx + 8]
add edx, eax
mov dword [ecx + 8], edx
jmp 0x4ca45e
cmp dword [ebp - 0x18], 0x8000
ja 0x4c84c0
jmp 0x4c902a
fld qword [0x519210]
fstp dword [eax + 8]
jmp 0x4c991d
sub esp, 0xc
mov esi, dword [ebp - 0x6c]
push esi
call fcn.004c3af0
xor esi, esi
add esp, 0x10
jmp 0x4c83a2
inc ecx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
mov eax, esi
call fcn.004c3c20
test eax, eax
jne 0x4ca79a
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
mov byte [ebp - 0x49], al
cmp al, 0x3a
je 0x4ca79a
mov edi, dword [ebp - 0x6c]
mov ecx, dword [edi + 8]
test cl, 3
jne 0x4ca6f4
mov eax, 0x64
mov edx, ecx
sar edx, 0x1f
mov edi, eax
mov eax, ecx
idiv edi
test edx, edx
jne 0x4ca708
mov eax, 0x190
mov edx, ecx
sar edx, 0x1f
mov edi, eax
mov eax, ecx
idiv edi
test edx, edx
jne 0x4ca776
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0xc]
mov al, byte [eax + 0xc]
shr dx, 4
and eax, 0xf
and eax, 0xff
and edx, 0x1f
cmp edx, dword [eax*4 + 0x542e7c]
setbe al
test al, al
je 0x4ca79a
cmp byte [ebp - 0x49], 0
je 0x4ca74a
cmp byte [ebp - 0x49], 0x5a
je 0x4ca74a
cmp byte [ebp - 0x49], 0x2b
je 0x4ca74a
cmp byte [ebp - 0x49], 0x2d
jne 0x4c94de
lea edx, [ebp - 0x1c]
mov eax, esi
call fcn.004c3e50
test eax, eax
jne 0x4c94de
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c94de
mov eax, dword [ebp - 0x6c]
mov dword [eax], 7
jmp 0x4c9ae6
mov edi, dword [ebp - 0x6c]
mov al, byte [edi + 0xc]
mov edx, dword [edi + 0xc]
shr dx, 4
and eax, 0xf
and eax, 0xff
and edx, 0x1f
cmp edx, dword [eax*4 + 0x542ebc]
setbe al
jmp 0x4ca72a
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x1c], ecx
jmp 0x4ca27d
sub esp, 0xc
push edi
call fcn.00483c60
mov ecx, dword [ebp - 0x54]
add esp, 0x10
mov dword [ecx + 8], eax
jmp 0x4c9318
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0x2d
jne 0x4c94de
lea ecx, [eax + 1]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
mov eax, edi
call fcn.004c3c20
test eax, eax
jne 0x4c94de
mov edx, dword [ebp - 0x6c]
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x4c94de
mov al, byte [edx + 0xc]
and eax, 0xf
mov byte [ebp - 0xb1], al
dec eax
and eax, 0xf
cmp al, 0xb
ja 0x4c94de
test cl, 3
jne 0x4ca820
mov edx, ecx
mov esi, 0x64
sar edx, 0x1f
mov eax, ecx
idiv esi
test edx, edx
jne 0x4ca836
mov edx, ecx
mov esi, 0x190
sar edx, 0x1f
mov eax, ecx
idiv esi
test edx, edx
jne 0x4caa20
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx + 0xc]
xor edx, edx
shr ax, 4
mov dl, byte [ebp - 0xb1]
and eax, 0x1f
cmp eax, dword [edx*4 + 0x542e7c]
ja 0x4c94de
mov ecx, dword [ebp - 0x1c]
mov al, byte [ecx]
test al, al
je 0x4ca9f8
cmp al, 0x5a
je 0x4ca9f8
cmp al, 0x2b
je 0x4ca9f8
cmp al, 0x2d
je 0x4ca9f8
cmp byte [ecx], 0x54
jne 0x4c94de
inc ecx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
mov eax, edi
call fcn.004c3ca0
test eax, eax
jne 0x4c94de
lea edx, [ebp - 0x1c]
mov eax, edi
call fcn.004c3e50
mov esi, eax
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x4ca8cd
mov ecx, dword [ebp - 0x1c]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x4ca8c5
lea eax, [edx - 9]
cmp al, 1
jbe 0x4ca8c5
cmp dl, 0xd
jne 0x4ca8cd
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
jmp 0x4ca8af
test esi, esi
jne 0x4c94de
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c94de
mov edi, dword [ebp - 0x6c]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x4c94de
mov al, byte [edi + 0xc]
and eax, 0xf
mov esi, eax
lea eax, [eax - 1]
and eax, 0xf
cmp al, 0xb
ja 0x4c94de
test cl, 3
jne 0x4ca91e
mov eax, 0x64
mov edx, ecx
sar edx, 0x1f
mov edi, eax
mov eax, ecx
idiv edi
test edx, edx
jne 0x4ca936
mov eax, 0x190
mov edx, ecx
sar edx, 0x1f
mov edi, eax
mov eax, ecx
idiv edi
test edx, edx
jne 0x4ca9ca
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx + 0xc]
mov edx, esi
shr ax, 4
and edx, 0xff
and eax, 0x1f
cmp eax, dword [edx*4 + 0x542e7c]
ja 0x4c94de
mov esi, dword [ebp - 0x6c]
mov al, byte [esi + 0xd]
shr al, 1
and eax, 0x1f
cmp al, 0x17
ja 0x4c94de
mov eax, dword [esi + 0xc]
shr eax, 0xe
and eax, 0x3f
cmp al, 0x3b
ja 0x4c94de
fld qword [esi + 0x10]
fldz
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x4ca9f1
fld dword [0x543028]
fucompp
fnstsw ax
test ah, 0x45
jne 0x4c94de
mov eax, dword [esi + 0x18]
shl eax, 3
shr ax, 4
sub eax, 0xcb9
and eax, 0xfff
cmp ax, 0x68e
ja 0x4c94de
mov dword [esi], 0xb
jmp 0x4c9ae6
mov ecx, dword [ebp - 0x6c]
mov edx, esi
and edx, 0xff
mov eax, dword [ecx + 0xc]
shr ax, 4
and eax, 0x1f
cmp eax, dword [edx*4 + 0x542ebc]
ja 0x4c94de
jmp 0x4ca958
fstp st(0)
jmp 0x4c94de
lea edx, [ebp - 0x1c]
mov eax, edi
call fcn.004c3e50
test eax, eax
jne 0x4caa47
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x4c94de
mov esi, dword [ebp - 0x6c]
mov dword [esi], 0xa
jmp 0x4c9ae6
mov ecx, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [ebp - 0xb1]
mov eax, dword [ecx + 0xc]
shr ax, 4
and eax, 0x1f
cmp eax, dword [edx*4 + 0x542ebc]
ja 0x4c94de
jmp 0x4ca858
mov ecx, dword [ebp - 0x1c]
jmp 0x4ca87d
cmp dword [ebp - 0x70], 1
jne 0x4c902a
cmp dword [ebp - 0x18], 0x343d000
ja 0x4c84c0
jmp 0x4c902a
sub esp, 0xc
push 0
call fcn.004c3af0
add esp, 0x10
jmp case.0x4c83e2.0
sub esp, 0xc
mov edx, dword [ebp - 0x5c]
xor esi, esi
push edx
call fcn.004c3af0
add esp, 0x10
jmp 0x4c83a2
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x35]
mov byte [eax], 0
mov dword [ebp - 0x1c], ecx
jmp 0x4ca4f8