Function at 0x477530
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x14c
mov edi, eax
mov ecx, dword [0x78ddb0]
mov dword [ebp - 0xd8], edx
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
test ecx, ecx
je 0x477700
or eax, 0xffffffff
test edi, edi
je 0x4776f3
mov edx, dword [ebp - 0xd8]
test edx, edx
je 0x477710
mov eax, dword [ebp + 8]
test eax, eax
je 0x477592
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov eax, dword [ebp + 0x10]
test eax, eax
mov eax, dword [ebp - 0xd8]
sete dl
test eax, eax
setne al
and eax, 0xff
test edx, eax
jne 0x4775c1
mov ebx, dword [edi + 0x58]
cmp ebx, 0x2e
ja case.default.0x4775ba
jmp dword [ebx*4 + 0x74c43c]
mov ebx, dword [edi + 0x58]
cmp ebx, 1
setne dl
cmp ebx, 0x2d
setne al
and eax, 0xff
test edx, eax
je 0x4775b1
cmp ebx, 0x2e
je 0x4775b1
cmp ebx, 2
je 0x47771f
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00477260
mov dword [ebp - 0xdc], eax
add esp, 0x10
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4775ae
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], edx
jmp 0x4775ae
push eax
push eax
push 1
mov edi, dword [ebp - 0xd8]
push edi
call fcn.00448a80
add esp, 0x10
mov esi, dword [ebp + 8]
test eax, eax
mov dword [ebp - 0xe0], eax
sete al
xor ebx, ebx
test esi, esi
mov bl, al
setne al
test eax, ebx
je 0x477673
mov eax, 0x17
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
sub esp, 0xc
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.004622d0
mov ecx, dword [ebp + 8]
add esp, 0x10
mov dword [edi + 8], eax
mov dword [ecx], edi
mov edx, dword [ebp + 0xc]
test edx, edx
setne al
test eax, ebx
je case.default.0x4775ba
mov edi, dword [ebp + 0xc]
cmp dword [edi + 4], 2
jne case.default.0x4775ba
cmp dword [edi + 0x28], 2
je case.default.0x4775ba
mov eax, dword [ebp - 0xd8]
call fcn.004770a0
mov ebx, eax
test eax, eax
je 0x479cee
push edi
push eax
mov eax, dword [edi + 0x20]
push eax
push 0
call fcn.00459640
mov dword [esp], ebx
mov esi, eax
call dword [0x69a2d0]
add esp, 0x10
test esi, esi
je 0x479cdf
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x28], 2
mov edi, dword [ebp - 0xdc]
test edi, edi
je 0x4776ed
sub esp, 0xc
mov esi, dword [ebp - 0xdc]
push esi
call dword [0x69a2d0]
add esp, 0x10
mov eax, dword [ebp - 0xe0]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00475f50
jmp 0x477569
mov dword [ebp - 0xd8], 0x74c394
jmp 0x477582
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00477190
jmp 0x4775f6
test ebx, ebx
je case.0x4775ba.0
sub esp, 0xc
push ebx
call dword [0x69a2d0]
add esp, 0x10
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x477761
sub esp, 0xc
mov eax, dword [ebp - 0xdc]
push eax
call dword [0x69a2d0]
add esp, 0x10
or eax, 0xffffffff
lea esp, [ebp - 0xc]
pop ebx
jmp 0x4776f7
mov edx, dword [ebp + 0x18]
test edx, edx
jne 0x477789
mov ebx, dword [ebp - 0xd8]
cmp esi, 2
je 0x4791fe
cmp esi, 3
je 0x47954b
mov eax, dword [ebp + 0x20]
test eax, eax
mov eax, dword [ebp + 8]
setne dl
test eax, eax
setne al
and eax, 0xff
test edx, eax
je 0x47785a
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4777d5
cmp esi, 3
je 0x4799c0
cmp esi, 2
je 0x479a44
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4777d5
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov eax, 1
jmp 0x477831
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x478b1d
mov ebx, dword [ebp + 0x1c]
test ebx, ebx
je 0x477825
cmp esi, 3
je 0x479747
sub esp, 0xc
mov edx, dword [ebp - 0xd8]
push edx
call fcn.00477190
mov dword [ebp - 0xdc], eax
add esp, 0x10
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x477825
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x47785a
mov eax, 2
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
sub esp, 0xc
mov esi, dword [ebp - 0xd8]
push esi
call fcn.004622d0
mov edx, dword [ebp + 8]
mov dword [edi + 8], eax
mov dword [edx], edi
add esp, 0x10
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x477877
sub esp, 0xc
mov eax, dword [ebp - 0xdc]
push eax
call dword [0x69a2d0]
add esp, 0x10
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
push edi
push edi
push 1
mov esi, dword [ebp - 0xd8]
push esi
call fcn.00449470
mov ebx, dword [ebp + 8]
add esp, 0x10
mov dword [ebp - 0xe0], eax
test eax, eax
sete dl
test ebx, ebx
setne al
and eax, 0xff
test edx, eax
je case.default.0x4775ba
mov ecx, dword [ebp - 0xd8]
test ecx, ecx
je case.default.0x4775ba
mov eax, 0x14
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
mov ebx, dword [ebp - 0xd8]
mov cl, byte [ebx]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x479235
inc ebx
mov cl, byte [ebx]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x4778f6
cmp cl, 0xd
je 0x4778f6
mov esi, ebx
test cl, cl
je 0x47793b
lea eax, [ecx - 9]
cmp cl, 0x20
setne dl
cmp al, 1
seta al
and eax, 0xff
test edx, eax
je 0x47793b
cmp cl, 0xd
je 0x47793b
inc esi
mov cl, byte [esi]
test cl, cl
jne 0x477918
sub esi, ebx
push edx
push edx
push esi
push ebx
call fcn.00462260
jmp 0x478320
push eax
push eax
push 1
mov eax, dword [ebp - 0xd8]
xor esi, esi
push eax
call fcn.00448e30
xor ebx, ebx
add esp, 0x10
mov dword [ebp - 0xe0], eax
test eax, eax
jne case.default.0x4775ba
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4779c4
push eax
push eax
lea eax, [ebp - 0x98]
push eax
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00448970
add esp, 0xc
mov ebx, eax
mov eax, dword [ebp - 0x98]
push eax
mov edi, dword [ebp + 0xc]
push edi
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x20]
push ecx
call fcn.0044cbc0
add esp, 0x10
test eax, eax
je 0x479625
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x98]
test eax, eax
jne 0x479508
mov edx, dword [ebp + 8]
test edx, edx
je 0x4792df
mov eax, 0x15
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x477733
test ebx, ebx
je 0x479a2a
mov dword [eax + 8], ebx
test esi, esi
je 0x477a01
sub esp, 0xc
push esi
call fcn.004622d0
add esp, 0x10
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [eax], edi
jmp case.default.0x4775ba
mov esi, dword [ebp - 0xd8]
or eax, 0xffffffff
mov dword [ebp - 0x94], esi
test esi, esi
je 0x477c06
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x477a55
mov cl, byte [esi]
jmp 0x477a3c
mov eax, esi
inc esi
mov dword [ebp - 0x94], esi
mov cl, byte [eax + 1]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x477a30
cmp cl, 0xd
je 0x477a30
mov cl, byte [esi]
cmp cl, 0x2d
setne dl
cmp cl, 0x2f
setbe al
and eax, 0xff
test edx, eax
je 0x477a7a
mov eax, 1
cmp cl, 0x39
ja 0x477c06
xor eax, eax
call fcn.00475dc0
mov dword [ebp - 0xec], eax
or eax, 0xffffffff
mov ecx, dword [ebp - 0xec]
test ecx, ecx
je 0x477c06
mov esi, dword [ebp - 0x94]
cmp byte [esi], 0x2d
je 0x4792f9
mov al, byte [esi]
mov ecx, dword [ebp - 0xec]
add ecx, 8
sub eax, 0x30
mov dword [ebp - 0x12c], ecx
cmp al, 9
jbe 0x4793a7
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x94], edx
mov esi, edx
mov cl, byte [edx]
xor edi, edi
lea eax, [ecx - 0x30]
cmp al, 9
seta dl
cmp cl, 0x2d
setne al
and eax, 0xff
test edx, eax
je 0x478dca
or eax, 0xffffffff
cmp cl, 0x2b
je 0x478dca
test eax, eax
jne 0x477b42
mov esi, dword [ebp - 0x94]
mov cl, byte [esi]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x47909c
cmp cl, 0x2b
je 0x47909c
cmp cl, 0x2d
je 0x47909c
cmp byte [esi], 0x2d
je 0x479817
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x477b5e
sub esp, 0xc
mov eax, dword [ebp - 0xec]
push eax
call fcn.00476a20
add esp, 0x10
mov eax, 1
jmp 0x477c06
cld
mov ebx, dword [ebp - 0xd8]
mov byte [ebp - 0x48], 0x59
mov byte [ebp - 0x47], 0x4d
mov byte [ebp - 0x46], 0x44
mov byte [ebp - 0x45], 0x48
mov byte [ebp - 0x44], 0x4d
mov byte [ebp - 0x43], 0x53
lea edi, [ebp - 0x88]
mov esi, 0x69a690
mov ecx, 0xe
or eax, 0xffffffff
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0x100], 0
rep movsd dword es:[edi], dword [esi]
test ebx, ebx
je 0x477c06
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x478c15
lea esi, [esi]
mov cl, byte [ebx]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x477be9
inc ebx
jmp 0x477bd0
cmp cl, 0xd
je 0x477be6
cmp cl, 0x2d
je 0x478fb4
inc ebx
mov eax, 1
cmp cl, 0x50
je 0x478e64
mov dword [ebp - 0xe0], eax
jmp case.default.0x4775ba
mov eax, dword [ebp + 0x18]
xor esi, esi
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0
test eax, eax
je 0x478b10
mov cl, byte [ebx]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x477c51
inc ebx
jmp 0x477c38
cmp cl, 0xd
je 0x477c4e
cmp cl, 0x4e
je 0x478d44
cmp cl, 0x2d
je 0x479057
cmp cl, 0x49
je 0x478fe5
mov eax, dword [ebp - 0x108]
test eax, eax
jne 0x477c84
cmp cl, 0x2b
je 0x479543
test cl, cl
sete dl
cmp cl, 0x2b
sete al
or eax, edx
test al, 1
jne 0x478382
cmp cl, 0x2d
jne 0x477ca7
jmp 0x478382
inc ebx
inc esi
mov cl, byte [ebx]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x477ca3
cmp cl, 0x2e
je 0x4792b1
or esi, dword [ebp - 0x10c]
je 0x478382
cmp cl, 0x65
sete dl
cmp cl, 0x45
sete al
or eax, edx
test al, 1
je 0x477cf4
inc ebx
mov cl, byte [ebx]
cmp cl, 0x2d
sete dl
cmp cl, 0x2b
sete al
or eax, edx
test al, 1
je 0x477ced
inc ebx
mov cl, byte [ebx]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x477cea
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4789a0
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x478997
inc ebx
mov cl, byte [ebx]
jmp 0x477cff
mov edx, dword [ebp + 0x18]
mov ebx, dword [ebp - 0xd8]
test edx, edx
je 0x478a9d
mov cl, byte [ebx]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x479074
inc ebx
mov cl, byte [ebx]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x477d47
cmp cl, 0xd
je 0x477d47
cmp cl, 0x30
je 0x4792ab
cmp cl, 0x31
je 0x479533
cmp cl, 0x74
je 0x479716
cmp cl, 0x66
jne 0x478382
inc ebx
mov al, byte [ebx]
inc ebx
cmp al, 0x61
jne 0x478382
mov al, byte [ebx]
inc ebx
cmp al, 0x6c
jne 0x478382
mov al, byte [ebx]
inc ebx
cmp al, 0x73
jne 0x478382
mov al, byte [ebx]
inc ebx
cmp al, 0x65
jne 0x478382
mov dword [ebp - 0xe0], 0
mov cl, byte [ebx]
test cl, cl
je 0x478965
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x478954
inc ebx
mov cl, byte [ebx]
jmp 0x477dc8
push eax
push eax
push 1
mov eax, dword [ebp - 0xd8]
xor esi, esi
push eax
call fcn.00448e30
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0xe0], eax
add esp, 0x10
test eax, eax
sete dl
test edi, edi
setne al
and eax, 0xff
test edx, eax
jne 0x478cb0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x477e31
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x20]
test eax, eax
jne 0x478be0
mov dword [ebp - 0xe0], 3
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp + 8]
test eax, eax
sete dl
test edi, edi
setne al
and eax, 0xff
test edx, eax
je case.default.0x4775ba
mov eax, 0x1c
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x479a08
test ebx, ebx
je 0x479a58
mov dword [eax + 8], ebx
test esi, esi
je 0x477e81
mov dword [edi + 0xc], esi
mov ecx, dword [ebp + 8]
mov dword [ecx], edi
jmp case.default.0x4775ba
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x124], 0
mov dword [ebp - 0xac], ecx
mov esi, ecx
test ecx, ecx
je 0x478382
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x477edb
mov cl, byte [ecx]
jmp 0x477ec2
mov eax, esi
inc esi
mov dword [ebp - 0xac], esi
mov cl, byte [eax + 1]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x477eb6
cmp cl, 0xd
je 0x477eb6
mov al, byte [esi]
cmp al, 0x2d
je 0x478b5a
cmp al, 0x2b
je 0x478b64
lea eax, [ebp - 0xa0]
lea edx, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xac]
call fcn.00477430
test eax, eax
mov dword [ebp - 0xe0], eax
pop ecx
pop ebx
js 0x478382
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x478bd5
mov esi, dword [ebp - 0xac]
mov cl, byte [esi]
jmp 0x477f3d
mov eax, esi
inc esi
mov dword [ebp - 0xac], esi
mov cl, byte [eax + 1]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x477f31
cmp cl, 0xd
je 0x477f31
cmp byte [esi], 0
jne 0x478382
mov ebx, dword [edi + 0x58]
cmp ebx, 0x1f
je 0x479154
cmp ebx, 0x22
je 0x47945a
cmp ebx, 0x20
je 0x479696
cmp ebx, 0x21
je 0x4797d2
mov esi, dword [ebp + 8]
test esi, esi
je 0x47785a
mov eax, ebx
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x47785a
mov ebx, dword [ebp - 0xe0]
test ebx, ebx
jne 0x477fb6
mov dword [ebp - 0xe0], 1
mov eax, dword [ebp - 0xa8]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0xa4]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0xa0]
mov dword [edi + 0x10], eax
mov dl, byte [ebp - 0x124]
mov byte [edi + 0x18], dl
mov cl, byte [ebp - 0xe0]
mov byte [edi + 0x19], cl
mov eax, dword [ebp + 8]
mov dword [eax], edi
jmp 0x47785a
mov edx, dword [ebp - 0xd8]
xor esi, esi
mov dword [ebp - 0xbc], edx
test edx, edx
je 0x478382
mov al, byte [edx]
cmp al, 0x2d
je 0x478db8
cmp al, 0x2b
je 0x479069
lea eax, [ebp - 0xb0]
lea edx, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0xbc]
call fcn.00477430
test eax, eax
mov dword [ebp - 0xe0], eax
pop edx
pop ecx
js 0x478382
mov eax, dword [ebp - 0xbc]
cmp byte [eax], 0
jne 0x478382
mov ebx, dword [edi + 0x58]
cmp ebx, 0x25
je 0x4790ff
cmp ebx, 0x23
je 0x479496
cmp ebx, 0x27
je 0x47965a
cmp ebx, 0x29
je 0x4797de
mov edi, dword [ebp + 8]
test edi, edi
je 0x47785a
mov eax, ebx
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x47785a
mov eax, dword [ebp - 0xb8]
mov ecx, esi
mov dword [edi + 8], eax
mov eax, dword [ebp - 0xb4]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0xb0]
mov dword [edi + 0x10], eax
mov byte [edi + 0x18], cl
mov al, byte [ebp - 0xe0]
mov byte [edi + 0x19], al
mov edx, dword [ebp + 8]
mov dword [edx], edi
jmp 0x47785a
lea ecx, [ebp - 0x38]
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x90], ecx
test ebx, ebx
je 0x478382
mov cl, byte [ebx]
test cl, cl
je 0x478382
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x478fd8
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x478114
inc ebx
mov cl, byte [ebx]
jmp 0x4780fb
cmp cl, 0xd
je 0x47810f
mov dword [ebp - 0xe4], 0
cmp cl, 0x2d
je 0x478fc6
cmp cl, 0x2b
je 0x478fd0
test cl, cl
je 0x478382
xor esi, esi
xor edx, edx
mov dword [ebp - 0xe8], 0xffffffff
cmp cl, 0x30
je 0x4792d0
test cl, cl
je 0x478192
jmp 0x478182
mov edi, dword [ebp - 0x128]
inc esi
inc ebx
mov byte [edi], cl
mov eax, dword [ebp - 0x90]
inc eax
cmp esi, 0x17
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x90], eax
ja 0x4795d5
mov cl, byte [ebx]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x47815a
cmp cl, 0x2e
je 0x47959b
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x478a0d
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x478a04
inc ebx
mov cl, byte [ebx]
jmp 0x47819d
push eax
push eax
push 1
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00448a80
add esp, 0x10
mov edi, dword [ebp + 8]
test eax, eax
mov dword [ebp - 0xe0], eax
sete al
xor ebx, ebx
test edi, edi
mov bl, al
setne al
test eax, ebx
je 0x478216
mov eax, 0x18
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
sub esp, 0xc
mov esi, dword [ebp - 0xd8]
push esi
call fcn.004622d0
mov ecx, dword [ebp + 8]
add esp, 0x10
mov dword [edi + 8], eax
mov dword [ecx], edi
mov ecx, dword [ebp + 0xc]
test ecx, ecx
setne al
test eax, ebx
je case.default.0x4775ba
mov edi, dword [ebp + 0xc]
cmp dword [edi + 4], 2
jne case.default.0x4775ba
mov eax, dword [ebp - 0xd8]
call fcn.004770a0
mov ebx, eax
test eax, eax
je 0x479cc1
push edi
push eax
mov edx, dword [edi + 0x20]
push edx
push 0
call fcn.00459ce0
mov dword [esp], ebx
call dword [0x69a2d0]
mov edx, dword [ebp + 0xc]
add esp, 0x10
mov dword [edx + 0x28], 3
jmp case.default.0x4775ba
push eax
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [0x78dd80]
call fcn.0047a160
add esp, 0x10
sar eax, 0x1f
mov edi, dword [ebp + 0xc]
and eax, 2
sete dl
mov dword [ebp - 0xe0], eax
test edi, edi
setne al
and eax, 0xff
test edx, eax
je case.default.0x4775ba
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 2
jne case.default.0x4775ba
mov dword [ecx + 0x28], 4
jmp case.default.0x4775ba
push eax
push eax
push 1
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00448a80
add esp, 0x10
test eax, eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp + 8]
sete dl
test eax, eax
setne al
and eax, 0xff
test edx, eax
je case.default.0x4775ba
mov eax, 0x16
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.004622d0
mov edx, dword [ebp + 8]
add esp, 0x10
mov dword [edi + 8], eax
mov dword [edx], edi
jmp case.default.0x4775ba
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp - 0xd8]
test eax, eax
jne 0x478a88
mov al, byte [ebx]
test al, al
je 0x478a88
mov cl, al
jmp 0x47835a
inc ebx
mov cl, byte [ebx]
test cl, cl
je 0x478a88
cmp cl, 0xd
sete dl
cmp cl, 0xa
sete al
or eax, edx
test al, 1
jne 0x478382
cmp cl, 9
je 0x478382
cmp cl, 0x20
jne 0x47834f
inc ebx
mov cl, byte [ebx]
test cl, cl
je 0x478382
cmp cl, 0x20
jne 0x478352
mov edx, dword [ebp - 0xdc]
test edx, edx
je 0x47839f
sub esp, 0xc
mov eax, dword [ebp - 0xdc]
push eax
call dword [0x69a2d0]
add esp, 0x10
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
jmp 0x47787d
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x478d19
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.004066c0
add esp, 0x10
cmp eax, 1
jne 0x478382
mov edi, dword [ebp + 8]
test edi, edi
je 0x47785a
mov al, 0x11
jmp 0x477831
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x478382
lea eax, [ebp - 0xc0]
lea edx, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xcc]
call fcn.00477430
test eax, eax
mov dword [ebp - 0xe0], eax
pop edx
pop ecx
js 0x478382
mov eax, dword [ebp - 0xcc]
cmp byte [eax], 0
jne 0x478382
mov ebx, dword [edi + 0x58]
cmp ebx, 0x26
je 0x47924b
cmp ebx, 0x24
je 0x4794d3
cmp ebx, 0x28
je 0x479792
cmp ebx, 0x2a
je 0x4799dd
mov eax, dword [ebp + 8]
test eax, eax
je 0x47785a
mov eax, ebx
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x47785a
mov eax, dword [ebp - 0xc8]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0xc0]
mov dword [edi + 0x10], eax
mov byte [edi + 0x18], 0
jmp 0x4780b6
push ebx
push ebx
push 1
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.00449840
add esp, 0x10
test eax, eax
jne 0x478382
mov edx, dword [ebp + 8]
test edx, edx
je 0x47785a
mov al, 0x12
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.004622d0
mov ecx, dword [ebp + 8]
mov dword [edi + 8], eax
mov dword [ecx], edi
jmp 0x477857
push eax
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [0x78dd90]
call fcn.0047a160
add esp, 0x10
test eax, eax
setle al
and eax, 0xff
jmp 0x477c06
push esi
push esi
push 1
mov ebx, dword [ebp - 0xd8]
push ebx
call fcn.00448a80
mov ecx, dword [ebp + 0xc]
add esp, 0x10
mov dword [ebp - 0xe0], eax
test ecx, ecx
je 0x478543
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + 0x20]
test edx, edx
jne 0x478c22
mov dword [ebp - 0xe0], 3
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp + 8]
test edi, edi
sete al
xor ebx, ebx
test esi, esi
mov bl, al
setne al
test eax, ebx
jne 0x478c8c
mov edx, dword [ebp + 0xc]
test edx, edx
setne al
test eax, ebx
je case.default.0x4775ba
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 2
jne case.default.0x4775ba
mov dword [ecx + 0x28], 5
jmp case.default.0x4775ba
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4785aa
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x479191
mov ebx, dword [ebp - 0xdc]
test ebx, ebx
je 0x4785c7
sub esp, 0xc
mov ecx, dword [ebp - 0xdc]
push ecx
call dword [0x69a2d0]
add esp, 0x10
mov eax, 3
lea esp, [ebp - 0xc]
pop ebx
jmp 0x4776f7
mov edi, dword [ebp - 0xd8]
cmp byte [edi], 0
je 0x478683
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jne 0x4791d9
sub esp, 0xc
mov edx, dword [ebp - 0xd8]
push edx
call fcn.004622d0
mov esi, eax
mov ebx, eax
mov al, byte [eax]
add esp, 0x10
test al, al
je 0x478658
mov cl, al
lea eax, [ecx - 0x21]
cmp al, 0x5d
seta dl
cmp cl, 0x3c
sete al
or eax, edx
test al, 1
jne 0x47864e
cmp cl, 0x3e
je 0x47864e
cmp cl, 0x22
je 0x47864e
cmp cl, 0x7b
je 0x47864e
cmp cl, 0x7d
je 0x47864e
cmp cl, 0x7c
je 0x47864e
cmp cl, 0x5c
je 0x47864e
cmp cl, 0x5e
je 0x47864e
cmp cl, 0x60
je 0x47864e
cmp cl, 0x27
jne 0x478651
mov byte [ebx], 0x5f
inc ebx
mov cl, byte [ebx]
test cl, cl
jne 0x47860d
sub esp, 0xc
push esi
call fcn.00431ae0
mov dword [esp], esi
mov ebx, eax
call dword [0x69a2d0]
add esp, 0x10
test ebx, ebx
je 0x478382
sub esp, 0xc
push ebx
call fcn.0042f6c0
add esp, 0x10
mov eax, dword [ebp + 8]
test eax, eax
je 0x47785a
mov eax, 0x1d
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.004622d0
mov dword [edi + 8], eax
mov eax, dword [ebp + 8]
mov dword [eax], edi
jmp 0x477857
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x120], 0
test esi, esi
je 0x478382
mov al, byte [esi]
test al, al
je 0x478c7f
mov bl, al
xor eax, eax
mov al, bl
call fcn.00477040
test eax, eax
js 0x47870f
cmp eax, 0x3f
jg 0x47881d
mov ebx, dword [ebp - 0x11c]
inc ebx
mov dword [ebp - 0x11c], ebx
inc esi
mov bl, byte [esi]
test bl, bl
jne 0x4786ec
mov eax, dword [ebp - 0x11c]
test eax, eax
js 0x479094
sar eax, 2
mov edx, dword [ebp - 0x120]
test edx, edx
lea edi, [eax + eax*2]
mov dword [ebp - 0x118], edi
jne 0x478b7d
test byte [ebp - 0x11c], 3
jne 0x478382
mov eax, dword [ebp + 8]
test eax, eax
je 0x47785a
mov eax, 0x2c
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
sub esp, 0xc
lea eax, [edx + ecx + 1]
push eax
call dword [0x69a2c8]
add esp, 0x10
test eax, eax
mov dword [ebp - 0x114], eax
je 0x479b89
mov eax, dword [ebp - 0x114]
mov dword [edi + 8], eax
mov esi, dword [ebp - 0xd8]
mov al, byte [esi]
test al, al
je 0x4787cf
mov bl, al
xor eax, eax
mov al, bl
call fcn.00477040
test eax, eax
js 0x4787c8
mov edx, dword [ebp - 0x114]
mov byte [edx], bl
inc edx
mov dword [ebp - 0x114], edx
inc esi
mov bl, byte [esi]
test bl, bl
jne 0x4787ac
mov ecx, dword [ebp - 0x114]
mov byte [ecx], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x118]
mov dword [edi + 0xc], eax
mov dword [edx], edi
jmp 0x47785a
xor eax, eax
mov al, bl
call fcn.00477040
test eax, eax
js 0x478801
cmp eax, 0x3f
jle 0x478382
cmp eax, 0x40
mov ecx, dword [ebp - 0x120]
sete al
and eax, 0xff
inc esi
add ecx, eax
mov dword [ebp - 0x120], ecx
mov bl, byte [esi]
test bl, bl
jne 0x4787eb
jmp 0x478716
mov ebx, dword [ebp + 0x20]
mov ecx, dword [ebp + 8]
test ebx, ebx
setne dl
test ecx, ecx
setne al
and eax, 0xff
test edx, eax
je 0x47785a
mov eax, 0x2e
jmp 0x4784be
mov esi, dword [ebp - 0xd8]
xor ebx, ebx
test esi, esi
je 0x478382
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x478b70
mov cl, byte [esi]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x478881
inc esi
jmp 0x478868
cmp cl, 0xd
je 0x47887e
lea eax, [ecx - 0x30]
mov dword [ebp - 0x110], esi
jmp 0x478898
inc esi
inc ebx
mov cl, byte [esi]
lea eax, [ecx - 0x30]
cmp al, 9
lea eax, [ecx - 0x41]
setbe dl
cmp al, 5
setbe al
or eax, edx
test al, 1
jne 0x478891
lea eax, [ecx - 0x61]
cmp al, 5
jbe 0x478891
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4788de
lea esi, [esi]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x4788d9
inc esi
mov cl, byte [esi]
jmp 0x4788c0
cmp cl, 0xd
je 0x4788d4
test cl, cl
jne 0x478382
test bl, 1
jne 0x478382
mov eax, dword [ebp + 8]
test eax, eax
je 0x47785a
mov eax, 0x2b
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
push eax
push eax
push ebx
mov esi, dword [ebp - 0x110]
push esi
call fcn.00462260
add esp, 0x10
mov esi, eax
mov edx, str.allocating_hexbin_data
test eax, eax
je 0x479b8e
mov eax, ebx
mov edx, esi
shr eax, 0x1f
lea ecx, [ebx + eax]
sar ecx, 1
mov eax, ebx
dec ebx
test eax, eax
jle 0x478da8
mov al, byte [edx]
cmp al, 0x60
jbe 0x478951
sub eax, 0x20
mov byte [edx], al
inc edx
jmp 0x47893b
cmp cl, 0xd
je 0x477de0
test cl, cl
jne 0x478382
mov eax, dword [ebp + 8]
test eax, eax
je 0x47785a
mov eax, 0xf
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xe0]
mov dword [eax + 8], edx
mov dword [ecx], edi
jmp 0x47785a
cmp cl, 0xd
je 0x477d17
test cl, cl
jne 0x478382
mov eax, dword [ebp + 8]
test eax, eax
je 0x47785a
cmp edi, dword [0x78dda0]
je 0x479a72
mov eax, 0xe
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
lea eax, [eax + 8]
push ebx
push eax
push 0x74c3ac
mov ecx, dword [ebp - 0xd8]
push ecx
call sub.msvcrt.dll_sscanf
add esp, 0x10
dec eax
je 0x4780bf
sub esp, 0xc
push edi
call fcn.00476a20
add esp, 0x10
jmp 0x478382
cmp cl, 0xd
je 0x4781b5
test cl, cl
jne 0x478382
mov eax, dword [ebp + 8]
test eax, eax
je 0x47785a
mov eax, 3
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x47785a
test esi, esi
je 0x478a61
cmp dword [ebp - 0xe8], 0xffffffff
je 0x478a59
cmp esi, dword [ebp - 0xe8]
je 0x478a59
mov eax, dword [ebp - 0x90]
cmp byte [eax - 1], 0x30
je 0x479c64
test esi, esi
jne 0x479c92
mov al, byte [edi + 0x18]
mov ecx, dword [ebp - 0xe4]
and eax, 0xfffffffe
or eax, ecx
test esi, esi
jne 0x479ab0
mov byte [edi + 0x18], al
mov byte [edi + 0x19], 1
mov ecx, dword [ebp + 8]
mov dword [ecx], edi
jmp 0x47785a
mov eax, dword [ebp + 8]
test eax, eax
je 0x47785a
mov eax, 0x10
jmp 0x478693
mov edx, dword [ebp - 0xd8]
mov al, byte [edx]
cmp al, 0x30
je 0x479298
cmp al, 0x31
je 0x47951a
cmp al, 0x74
je 0x47975b
cmp al, 0x66
jne 0x478382
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 1], 0x61
jne 0x478382
cmp byte [eax + 2], 0x6c
jne 0x478382
cmp byte [eax + 3], 0x73
jne 0x478382
cmp byte [eax + 4], 0x65
jne 0x478382
cmp byte [eax + 5], 0
jne 0x478382
mov dword [ebp - 0xe0], 0
jmp 0x478965
mov eax, dword [ebp - 0xd8]
mov cl, byte [eax]
jmp 0x477c56
mov ebx, dword [ebp - 0xd8]
mov al, byte [ebx]
test al, al
je 0x477825
mov cl, al
cmp cl, 0xd
sete dl
cmp cl, 0xa
sete al
or eax, edx
test al, 1
jne 0x478382
cmp cl, 9
je 0x478382
inc ebx
mov cl, byte [ebx]
test cl, cl
jne 0x478b2f
jmp 0x477825
mov dword [ebp - 0x124], 1
inc esi
mov dword [ebp - 0xac], esi
jmp 0x477eed
mov edx, dword [ebp - 0xd8]
mov cl, byte [edx]
jmp 0x478886
cmp dword [ebp - 0x120], 1
je 0x479420
cmp dword [ebp - 0x120], 2
jne 0x478382
shl eax, 2
mov ecx, dword [ebp - 0x11c]
sub ecx, eax
cmp ecx, 2
jne 0x478382
xor eax, eax
mov al, bl
jmp 0x478bb6
dec esi
xor eax, eax
mov al, byte [esi]
call fcn.00477040
cmp eax, 0x3f
ja 0x478bb1
and eax, 0xffffffcf
jne 0x478382
inc edi
mov dword [ebp - 0x118], edi
jmp 0x47874b
mov esi, dword [ebp - 0xac]
jmp 0x477f56
mov edi, dword [ebp - 0xe0]
test edi, edi
jne 0x477e3b
push ecx
mov edx, dword [ebp - 0xd8]
push edx
push eax
push 0
call fcn.0045a1c0
add esp, 0x10
dec eax
setne al
and eax, 0xff
mov dword [ebp - 0xe0], eax
jmp 0x477e3b
mov edx, dword [ebp - 0xd8]
mov cl, byte [edx]
jmp 0x477bee
mov eax, dword [ebp - 0xe0]
test eax, eax
jne 0x47854d
mov eax, dword [ebp - 0xd8]
call fcn.004770a0
mov ebx, eax
test eax, eax
je 0x479b34
push eax
push eax
push ebx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x20]
push eax
call fcn.00456380
mov dword [esp], ebx
mov esi, eax
call dword [0x69a2d0]
add esp, 0x10
test esi, esi
je 0x478c70
cmp dword [esi + 0x30], 3
je 0x47854d
mov dword [ebp - 0xe0], 4
jmp 0x47854d
mov edi, dword [ebp - 0xd8]
mov bl, byte [edi]
jmp 0x47881d
push 0xb0b
push str.C:_BlitzMax_mod_bah.mod_libxml.mod_src_xmlschemastypes.c
push 0x74c3e9
mov ecx, dword [0x78d288]
push ecx
call dword [0x69a2a8]
add esp, 0x10
jmp 0x47856c
lea eax, [ebp - 0x9c]
push ebx
push ebx
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.00448970
mov ebx, eax
mov eax, dword [ebp - 0x9c]
add esp, 0x10
test eax, eax
jne 0x4795dc
test ebx, ebx
je 0x478cf9
mov eax, dword [ebp + 8]
test eax, eax
mov eax, dword [ebp - 0xe0]
sete dl
test eax, eax
setne al
or eax, edx
test al, 1
jne 0x479704
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x477e1c
sub esp, 0xc
push eax
call dword [0x69a2d0]
add esp, 0x10
jmp 0x477e1c
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00477260
add esp, 0x10
test eax, eax
mov dword [ebp - 0xdc], eax
je 0x4783b8
mov dword [ebp - 0xd8], eax
jmp 0x4783b8
cmp byte [ebx + 1], 0x61
jne 0x477c84
cmp byte [ebx + 2], 0x4e
jne 0x477c84
cmp byte [ebx + 3], 0
jne 0x478382
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x47785a
cmp edi, dword [0x78dda0]
je 0x479dae
mov eax, 0xe
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x47a104
mov edx, dword [0x78dc04]
mov eax, dword [0x78dc00]
mov dword [edi + 0xc], edx
mov edx, dword [ebp + 8]
mov dword [edi + 8], eax
mov dword [edx], edi
jmp 0x47785a
mov dword [edi + 0xc], ecx
mov ecx, dword [ebp + 8]
mov dword [edi + 8], esi
mov dword [ecx], edi
jmp 0x47785a
mov si, 1
mov eax, edx
inc eax
mov dword [ebp - 0xbc], eax
jmp 0x478015
mov ecx, dword [ebp - 0xd8]
mov al, byte [ecx]
cmp al, 0x2d
je 0x4797bd
mov cl, al
mov dword [ebp - 0xf0], esi
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x47908a
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax]
lea eax, [edx + edx*4]
xor edx, edx
mov dl, cl
mov ecx, dword [ebp - 0x12c]
inc esi
inc edi
lea edx, [edx + eax*2 - 0x30]
mov dword [ecx], edx
mov cl, byte [esi]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x478df5
cmp edi, 3
jle 0x47908a
cmp edi, 4
jle 0x478e30
mov edi, dword [ebp - 0xf0]
cmp byte [edi], 0x30
je 0x47908a
mov edx, dword [ebp - 0xf4]
test edx, edx
je 0x479add
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax]
neg edx
mov dword [eax], edx
mov eax, 2
test edx, edx
je 0x477b06
xor al, al
mov dword [ebp - 0x94], esi
jmp 0x477b06
cmp byte [ebx], 0
je 0x477c06
mov al, 0xc
call fcn.00475dc0
mov esi, eax
or eax, 0xffffffff
test esi, esi
je 0x477c06
mov cl, byte [ebx]
test cl, cl
je 0x479b09
cmp dword [ebp - 0xfc], 5
ja 0x4796f3
cmp cl, 0x54
je 0x479aea
cmp dword [ebp - 0xfc], 3
je 0x4796f3
lea eax, [ecx - 0x30]
fldz
cmp al, 9
ja 0x4796f1
fld dword [0x74c428]
xor eax, eax
inc ebx
mov al, cl
fmul st(1), st(0)
sub eax, 0x30
push eax
mov cl, byte [ebx]
fild dword [esp]
lea eax, [ecx - 0x30]
add esp, 4
faddp st(2)
cmp al, 9
jbe 0x478ec1
fstp st(0)
mov edi, dword [ebp - 0x100]
test edi, edi
jne 0x4796e4
cmp cl, 0x2e
je 0x4796a2
test cl, cl
je 0x4796f1
cmp dword [ebp - 0xfc], 5
ja 0x478f81
fnstcw word [ebp - 0xce]
mov ax, word [ebp - 0xce]
mov ah, 0xc
mov word [ebp - 0xd0], ax
fldcw word [ebp - 0xd0]
fist dword [ebp - 0xd4]
fldcw word [ebp - 0xce]
mov edi, dword [ebp - 0xd4]
lea eax, [edi + edi*2]
shl eax, 2
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xfc]
cmp cl, byte [eax + ebp - 0x48]
je 0x479d0e
mov eax, dword [ebp - 0xfc]
inc eax
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 3
je 0x4796f1
cmp dword [ebp - 0xfc], 6
je 0x4796f1
cmp dword [ebp - 0xfc], 5
jbe 0x478f41
fstp st(0)
mov eax, dword [ebp + 0x18]
inc ebx
test eax, eax
je 0x478e81
mov cl, byte [ebx]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x478fa8
inc ebx
jmp 0x478f8f
cmp cl, 0xd
jne 0x478e83
inc ebx
jmp 0x478f8f
inc ebx
mov dword [ebp - 0xf8], 1
mov cl, byte [ebx]
jmp 0x477bf7
mov dword [ebp - 0xe4], 1
inc ebx
mov cl, byte [ebx]
jmp 0x478135
mov edx, dword [ebp - 0xd8]
mov cl, byte [edx]
jmp 0x478119
cmp byte [ebx + 1], 0x4e
jne 0x477c71
cmp byte [ebx + 2], 0x46
jne 0x477c71
cmp byte [ebx + 3], 0
jne 0x478382
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x47785a
cmp edi, dword [0x78dda0]
je 0x479e09
mov eax, 0xe
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x47a104
mov eax, dword [ebp - 0x108]
test eax, eax
je 0x479dd5
mov eax, dword [0x69a300]
mov edx, dword [0x69a304]
mov ecx, dword [ebp + 8]
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
mov dword [ecx], edi
jmp 0x47785a
inc ebx
mov dword [ebp - 0x108], 1
mov cl, byte [ebx]
jmp 0x477c68
mov eax, dword [ebp - 0xd8]
jmp 0x478dbe
cmp cl, 0xd
je 0x477d47
mov edi, dword [ebp - 0xd8]
mov cl, byte [edi]
jmp 0x477d63
mov eax, 1
jmp 0x477b06
add eax, 3
jmp 0x478724
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x12c]
call fcn.00476e50
test eax, eax
jne 0x47961a
mov eax, dword [ebp - 0x94]
cmp byte [eax], 0
jne 0x477b42
mov edi, dword [ebp - 0xec]
mov dword [edi], 8
test ebx, ebx
je 0x4790e2
mov edx, dword [ebp - 0xec]
cmp dword [edx], ebx
jne 0x477b42
mov eax, dword [ebp + 8]
test eax, eax
je 0x479d95
mov ecx, dword [ebp + 8]
mov edi, dword [ebp - 0xec]
xor eax, eax
mov dword [ecx], edi
jmp 0x477c06
mov eax, dword [ebp - 0xb0]
cmp eax, 0x399
jbe 0x47807a
cmp eax, 0x39a
ja 0x478382
mov eax, dword [ebp - 0xb4]
cmp eax, 0x202882f
jbe 0x47807a
cmp eax, 0x2028830
ja 0x478382
test esi, esi
jne 0x479d62
cmp dword [ebp - 0xb8], 0x343cfff
jbe 0x47807a
jmp 0x478382
mov eax, dword [ebp - 0x124]
test eax, eax
jne 0x477f86
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x478382
mov eax, dword [ebp - 0xa4]
test eax, eax
jne 0x478382
mov edi, dword [ebp - 0xa8]
test edi, edi
jne 0x478382
jmp 0x477f86
push eax
push eax
push edi
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [0x78dd70]
call fcn.0047a160
add esp, 0x10
test eax, eax
setle al
and eax, 0xff
mov dword [ebp - 0xe0], eax
test eax, eax
jne case.default.0x4775ba
cmp dword [edi + 4], 2
jne case.default.0x4775ba
mov dword [edi + 0x28], 6
jmp case.default.0x4775ba
sub esp, 0xc
push edi
call fcn.00477260
add esp, 0x10
test eax, eax
mov dword [ebp - 0xdc], eax
je 0x4785ef
mov dword [ebp - 0xd8], eax
jmp 0x4785ef
mov al, byte [ebx]
test al, al
je 0x477789
mov cl, al
cmp cl, 0xd
sete dl
cmp cl, 0xa
sete al
or eax, edx
test al, 1
jne 0x478382
cmp cl, 9
je 0x478382
inc ebx
mov cl, byte [ebx]
test cl, cl
jne 0x47920a
jmp 0x477789
cmp cl, 0xd
je 0x4778f6
mov eax, dword [ebp - 0xd8]
mov cl, byte [eax]
jmp 0x477912
mov eax, dword [ebp - 0xc0]
cmp eax, 0x733
jbe 0x478456
cmp eax, 0x734
ja 0x478382
mov eax, dword [ebp - 0xc4]
cmp eax, 0x4051060
jbe 0x478456
cmp eax, 0x4051061
ja 0x478382
cmp dword [ebp - 0xc8], 0x91beff
jbe 0x478456
jmp 0x478382
mov dword [ebp - 0xe0], 0
cmp byte [edx + 1], 0
jmp 0x47895f
inc ebx
jmp 0x477db4
inc ebx
jmp 0x4792c2
mov eax, dword [ebp - 0x10c]
inc ebx
inc eax
mov dword [ebp - 0x10c], eax
mov cl, byte [ebx]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x4792b4
jmp 0x477cb7
mov dl, 1
inc ebx
mov cl, byte [ebx]
cmp cl, 0x30
je 0x4792d2
jmp 0x478154
test ebx, ebx
je case.default.0x4775ba
sub esp, 0xc
push ebx
call dword [0x69a2d0]
add esp, 0x10
jmp case.default.0x4775ba
cmp byte [esi + 1], 0x2d
jne 0x477aa7
add esi, 2
mov dword [ebp - 0x94], esi
cmp byte [esi], 0x2d
jne 0x479b9f
cmp ebx, 6
je 0x477b42
mov eax, dword [ebp - 0xec]
inc esi
add eax, 8
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x12c], eax
lea edx, [ebp - 0x94]
call fcn.00476bb0
test eax, eax
jne 0x477b42
mov eax, dword [ebp - 0x94]
mov cl, byte [eax]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x47936e
cmp cl, 0x2b
je 0x47936e
cmp cl, 0x2d
jne 0x477b42
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x12c]
call fcn.00476e50
test eax, eax
jne 0x477b42
mov eax, dword [ebp - 0x94]
cmp byte [eax], 0
jne 0x477b42
mov edx, dword [ebp - 0xec]
mov dword [edx], 5
jmp 0x4790d0
lea edx, [ebp - 0x94]
mov eax, ecx
call fcn.00476c40
test eax, eax
jne 0x477ac3
mov esi, dword [ebp - 0x94]
mov cl, byte [esi]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x4793e3
cmp cl, 0x2b
je 0x4793e3
cmp cl, 0x2d
jne 0x477ac3
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x12c]
call fcn.00476e50
test eax, eax
jne 0x477ac3
mov eax, dword [ebp - 0x94]
cmp byte [eax], 0
jne 0x477b42
mov eax, dword [ebp - 0xec]
mov dword [eax], 4
jmp 0x4790d0
shl eax, 2
mov edx, dword [ebp - 0x11c]
sub edx, eax
cmp edx, 3
jne 0x478382
xor eax, eax
mov al, bl
jmp 0x47943f
dec esi
xor eax, eax
mov al, byte [esi]
call fcn.00477040
cmp eax, 0x3f
ja 0x47943a
and eax, 0xffffffc3
jne 0x478382
add edi, 2
jmp 0x478bca
cmp dword [ebp - 0x124], 1
je 0x478382
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x477f86
mov eax, dword [ebp - 0xa4]
test eax, eax
jne 0x477f86
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x477f86
jmp 0x478382
mov eax, dword [ebp - 0xb0]
test eax, eax
jne 0x478382
mov eax, dword [ebp - 0xb4]
cmp eax, 0x14
jbe 0x47807a
cmp eax, 0x15
ja 0x478382
test esi, esi
jne 0x479c32
cmp dword [ebp - 0xb8], 0x2d48aff
jmp 0x479149
mov eax, dword [ebp - 0xc0]
test eax, eax
jne 0x478382
mov eax, dword [ebp - 0xc4]
cmp eax, 0x29
jbe 0x478456
cmp eax, 0x2a
ja 0x478382
cmp dword [ebp - 0xc8], 0x5a915ff
jmp 0x47928d
sub esp, 0xc
push eax
call dword [0x69a2d0]
add esp, 0x10
jmp 0x4779c4
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], 1
cmp byte [ecx + 1], 0
jmp 0x47895f
inc ebx
mov dword [ebp - 0xe0], 1
jmp 0x477dbe
inc ebx
mov cl, byte [ebx]
jmp 0x477c84
mov edi, dword [ebp - 0xd8]
mov al, byte [edi]
test al, al
je 0x477789
mov cl, al
jmp 0x47956a
inc ebx
mov cl, byte [ebx]
test cl, cl
je 0x477789
cmp cl, 0xd
sete dl
cmp cl, 0xa
sete al
or eax, edx
test al, 1
jne 0x478382
cmp cl, 9
je 0x478382
cmp cl, 0x20
jne 0x47955f
inc ebx
mov cl, byte [ebx]
cmp cl, 0x20
jne 0x479562
jmp 0x478382
inc ebx
mov dword [ebp - 0xe8], esi
mov cl, byte [ebx]
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x4795cd
mov edi, dword [ebp - 0x128]
inc esi
inc ebx
mov byte [edi], cl
mov eax, dword [ebp - 0x90]
inc eax
cmp esi, 0x17
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x90], eax
jbe 0x4795a2
or edx, esi
je 0x478382
mov cl, byte [ebx]
jmp 0x478192
push edx
push eax
mov edi, dword [ebp + 0xc]
push edi
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.0044cbc0
add esp, 0x10
test eax, eax
je 0x479c4a
mov edx, dword [ebp + 8]
test edx, edx
je 0x478cd8
sub esp, 0xc
mov eax, dword [eax + 8]
push eax
call fcn.004622d0
add esp, 0x10
mov esi, eax
jmp 0x478cd8
mov esi, dword [ebp - 0x94]
jmp 0x477b39
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x4779c4
sub esp, 0xc
push eax
call dword [0x69a2d0]
add esp, 0x10
test ebx, ebx
je 0x478382
sub esp, 0xc
push ebx
call dword [0x69a2d0]
add esp, 0x10
jmp 0x478382
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x478382
mov eax, dword [ebp - 0xb0]
test eax, eax
jne 0x478382
cmp esi, 1
je 0x479dfa
test esi, esi
jne 0x47807a
cmp dword [ebp - 0xb8], 0x7fff
jmp 0x479149
cmp dword [ebp - 0x124], 0
jmp 0x479461
inc ebx
fld1
mov cl, byte [ebx]
lea eax, [ecx - 0x30]
cmp al, 0xa
sbb edi, edi
and edi, 2
dec edi
cmp al, 9
mov dword [ebp - 0x100], edi
ja 0x4796e2
fld qword [0x74c42c]
xor eax, eax
fmul st(1), st(0)
mov al, cl
inc ebx
sub eax, 0x30
push eax
fild dword [esp]
fmul st(2)
mov cl, byte [ebx]
add esp, 4
lea eax, [ecx - 0x30]
faddp st(3)
cmp al, 9
jbe 0x4796c2
fstp st(0)
fstp st(0)
cmp dword [ebp - 0x100], 0xffffffff
jne 0x478ef6
fstp st(0)
test esi, esi
je 0x477b5e
sub esp, 0xc
push esi
jmp 0x477b56
sub esp, 0xc
push ebx
call dword [0x69a2d0]
add esp, 0x10
jmp 0x478cf9
inc ebx
mov al, byte [ebx]
inc ebx
cmp al, 0x72
jne 0x478382
mov al, byte [ebx]
inc ebx
cmp al, 0x75
jne 0x478382
mov al, byte [ebx]
inc ebx
mov dword [ebp - 0xe0], 1
cmp al, 0x65
jne 0x478382
jmp 0x477dbe
sub esp, 0xc
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.00477260
jmp 0x477806
mov edi, dword [ebp - 0xd8]
cmp byte [edi + 1], 0x72
jne 0x478382
cmp byte [edi + 2], 0x75
jne 0x478382
cmp byte [edi + 3], 0x65
jne 0x478382
mov dword [ebp - 0xe0], 1
cmp byte [edi + 4], 0
jmp 0x47895f
mov eax, dword [ebp - 0xc4]
test eax, eax
jne 0x478382
mov eax, dword [ebp - 0xc0]
test eax, eax
jne 0x478382
cmp dword [ebp - 0xc8], 0xffff
jmp 0x47928d
mov dword [ebp - 0xf4], 1
mov esi, ecx
inc esi
mov al, byte [ecx + 1]
jmp 0x478dda
cmp dword [ebp - 0x124], 1
jmp 0x47915c
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x478382
mov eax, dword [ebp - 0xb0]
test eax, eax
jne 0x478382
cmp esi, 1
je 0x479deb
test esi, esi
jne 0x47807a
cmp dword [ebp - 0xb8], 0x7f
jmp 0x479149
inc esi
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], esi
mov eax, dword [ebp - 0x12c]
call fcn.00476b20
test eax, eax
jne 0x477b42
mov esi, dword [ebp - 0x94]
mov cl, byte [esi]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x479b50
cmp cl, 0x2b
je 0x479b50
cmp cl, 0x2d
je 0x479b50
cmp byte [esi], 0x2d
jne 0x477b42
inc esi
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], esi
mov eax, dword [ebp - 0x12c]
call fcn.00476bb0
test eax, eax
jne 0x477b42
mov edx, dword [ebp - 0xec]
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x477b42
movzx esi, byte [edx + 0xc]
mov edi, 0xf
and edi, esi
mov eax, edi
mov dword [ebp - 0x13c], edi
dec eax
cmp eax, 0xb
ja 0x477b42
test cl, 3
jne 0x4798d4
mov edx, ecx
mov edi, 0x64
sar edx, 0x1f
mov eax, ecx
idiv edi
test edx, edx
jne 0x4798ea
mov edx, ecx
mov edi, 0x190
sar edx, 0x1f
mov eax, ecx
idiv edi
test edx, edx
jne 0x47a0d6
mov edx, dword [ebp - 0xec]
mov ax, word [edx + 0xc]
mov edx, esi
shr ax, 4
and edx, 0xf
and eax, 0x1f
cmp eax, dword [edx*4 + 0x74bc40]
ja 0x477b42
mov esi, dword [ebp - 0x94]
mov cl, byte [esi]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x47a0a1
cmp cl, 0x2b
je 0x47a0a1
cmp cl, 0x2d
je 0x47a0a1
cmp byte [esi], 0x54
jne 0x477b42
inc esi
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], esi
mov eax, dword [ebp - 0x12c]
call fcn.00476c40
test eax, eax
jne 0x477b42
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x12c]
call fcn.00476e50
mov ecx, eax
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x479f5e
mov esi, dword [ebp - 0x94]
movzx edi, byte [esi]
mov edx, edi
lea eax, [edi - 9]
cmp dl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
je 0x479f54
mov edx, esi
lea eax, [esi + 1]
mov dword [ebp - 0x94], eax
mov esi, eax
movzx edi, byte [edx + 1]
jmp 0x47998c
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00477260
add esp, 0x10
mov dword [ebp - 0xdc], eax
jmp 0x4777bf
mov eax, dword [ebp - 0xc4]
test eax, eax
jne 0x478382
mov eax, dword [ebp - 0xc0]
test eax, eax
jne 0x478382
cmp dword [ebp - 0xc8], 0xff
jmp 0x47928d
test ebx, ebx
je 0x479a19
sub esp, 0xc
push ebx
call dword [0x69a2d0]
add esp, 0x10
test esi, esi
je case.0x4775ba.0
sub esp, 0xc
push esi
jmp 0x47773b
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.004622d0
add esp, 0x10
mov dword [edi + 8], eax
jmp 0x4779ee
sub esp, 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00477190
jmp 0x4799cf
sub esp, 0xc
mov ebx, dword [ebp - 0xd8]
push ebx
call fcn.004622d0
add esp, 0x10
mov dword [edi + 8], eax
jmp 0x477e7a
mov eax, 0xd
call fcn.00475dc0
mov edi, eax
test eax, eax
je case.0x4775ba.0
push eax
lea eax, [edi + 8]
push eax
push 0x74c407
mov esi, dword [ebp - 0xd8]
push esi
call sub.msvcrt.dll_sscanf
add esp, 0x10
dec eax
jne 0x4789f3
mov eax, dword [ebp + 8]
mov dword [eax], edi
jmp 0x47785a
mov edx, esi
mov byte [edi + 0x19], dl
cmp dword [ebp - 0xe8], 0xffffffff
je 0x479c59
mov edx, dword [ebp - 0xe8]
and eax, 1
sub esi, edx
lea edx, [esi + esi]
or eax, edx
mov byte [edi + 0x18], al
mov ecx, dword [ebp + 8]
jmp 0x478a81
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx]
jmp 0x478e4a
cmp dword [ebp - 0xfc], 3
ja 0x477b5e
inc ebx
mov dword [ebp - 0xfc], 3
mov cl, byte [ebx]
jmp 0x478eae
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x479b1d
neg dword [esi + 8]
neg dword [esi + 0xc]
xor byte [esi + 0x17], 0x80
mov eax, dword [ebp + 8]
test eax, eax
je 0x479de5
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [edi], esi
jmp 0x477c06
push eax
push eax
mov eax, dword [ebp - 0xd8]
push eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x20]
push eax
call fcn.00456380
mov esi, eax
jmp 0x478c5f
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x12c]
call fcn.00476e50
test eax, eax
jne 0x479d7a
mov eax, dword [ebp - 0x94]
cmp byte [eax], 0
jne 0x477b42
mov eax, dword [ebp - 0xec]
mov dword [eax], 9
jmp 0x4790d0
mov edx, str.allocating_base64_data
mov eax, dword [ebp + 0xc]
call fcn.00475da0
sub esp, 0xc
push edi
jmp 0x47964c
mov ecx, dword [ebp - 0xec]
lea edx, [ebp - 0x94]
add ecx, 8
mov dword [ebp - 0x12c], ecx
mov eax, ecx
call fcn.00476b20
test eax, eax
jne 0x477b42
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0x13c], esi
cmp byte [esi], 0x2d
je 0x479e3e
mov cl, byte [esi]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x479bf9
cmp cl, 0x2b
je 0x479bf9
cmp cl, 0x2d
jne 0x477b42
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x12c]
call fcn.00476e50
test eax, eax
jne 0x477b42
mov eax, dword [ebp - 0x94]
cmp byte [eax], 0
jne 0x477b42
mov edx, dword [ebp - 0xec]
mov dword [edx], 6
jmp 0x4790d0
cmp esi, 1
jne 0x47807a
cmp dword [ebp - 0xb8], 0x2d48b00
jmp 0x479149
mov dword [ebp - 0xe0], 1
jmp 0x478cd8
and eax, 1
mov byte [edi + 0x18], al
jmp 0x479ad5
dec eax
jmp 0x479c78
mov edx, dword [ebp - 0x128]
dec eax
cmp byte [edx - 1], 0x30
jne 0x478a59
dec esi
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x90], eax
cmp esi, dword [ebp - 0xe8]
jne 0x479c67
jmp 0x478a59
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x38]
lea edx, [edi + 8]
mov byte [eax], 0
lea eax, [edi + 0x10]
mov dword [ebp - 0x90], ecx
push eax
lea eax, [edi + 0xc]
push eax
lea eax, [ebp - 0x90]
call fcn.00477430
pop ebx
pop eax
jmp 0x478a61
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x20]
push eax
push 0
call fcn.00459ce0
jmp 0x47825e
mov dword [ebp - 0xe0], 2
jmp case.default.0x4775ba
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x20]
push eax
push 0
call fcn.00459640
mov esi, eax
jmp 0x4776bb
mov ecx, dword [ebp - 0x100]
test ecx, ecx
setne dl
cmp eax, 4
setbe al
and eax, 0xff
test edx, eax
jne 0x4796f1
mov edx, dword [ebp - 0xfc]
test edx, edx
je 0x479d85
cmp dword [ebp - 0xfc], 1
je 0x47a092
mov ecx, dword [ebp - 0xfc]
fmul qword [ebp + ecx*8 - 0x88]
inc ecx
fadd qword [esi + 0x10]
fstp qword [esi + 0x10]
mov dword [ebp - 0xfc], ecx
jmp 0x478f83
cmp esi, 1
jne 0x47807a
cmp dword [ebp - 0xb8], 0x343d000
jmp 0x479149
mov esi, dword [ebp - 0x94]
jmp 0x479866
fstp st(0)
mov edx, dword [ebp - 0x104]
mov dword [esi + 8], edx
jmp 0x478f83
sub esp, 0xc
mov eax, dword [ebp - 0xec]
push eax
call fcn.00476a20
add esp, 0x10
xor eax, eax
jmp 0x477c06
mov eax, 0xd
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x47a104
fld qword [0x78dc00]
mov edx, dword [ebp + 8]
fstp dword [eax + 8]
mov dword [edx], edi
jmp 0x47785a
mov eax, dword [0x69a308]
mov edx, dword [0x69a30c]
jmp 0x479047
sub esp, 0xc
push esi
jmp 0x479d9f
cmp dword [ebp - 0xb8], 0x80
jmp 0x479149
cmp dword [ebp - 0xb8], 0x8000
jmp 0x479149
mov eax, 0xd
call fcn.00475dc0
mov edi, eax
test eax, eax
je 0x47a104
mov edx, dword [ebp - 0x108]
test edx, edx
je 0x47a0f9
fld qword [0x69a300]
mov ecx, dword [ebp + 8]
fstp dword [edi + 8]
mov dword [ecx], edi
jmp 0x47785a
inc esi
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], esi
mov eax, dword [ebp - 0x12c]
call fcn.00476bb0
test eax, eax
jne 0x479f43
mov esi, dword [ebp - 0x94]
cmp byte [esi], 0x3a
je 0x479f43
mov edi, dword [ebp - 0xec]
mov ecx, dword [edi + 8]
test cl, 3
jne 0x479e8f
mov eax, 0x64
mov edx, ecx
sar edx, 0x1f
mov edi, eax
mov eax, ecx
idiv edi
test edx, edx
jne 0x479ea3
mov eax, 0x190
mov edx, ecx
sar edx, 0x1f
mov edi, eax
mov eax, ecx
idiv edi
test edx, edx
jne 0x479f21
mov eax, dword [ebp - 0xec]
mov ecx, eax
mov dx, word [eax + 0xc]
xor eax, eax
shr dx, 4
mov al, byte [ecx + 0xc]
and eax, 0xf
and edx, 0x1f
cmp edx, dword [eax*4 + 0x74bc40]
ja 0x479f43
mov cl, byte [esi]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x479ee8
cmp cl, 0x2b
je 0x479ee8
cmp cl, 0x2d
jne 0x477b42
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x12c]
call fcn.00476e50
test eax, eax
jne 0x477b42
mov eax, dword [ebp - 0x94]
cmp byte [eax], 0
jne 0x477b42
mov eax, dword [ebp - 0xec]
mov dword [eax], 7
jmp 0x4790d0
mov edi, dword [ebp - 0xec]
xor eax, eax
mov dx, word [edi + 0xc]
mov al, byte [edi + 0xc]
shr dx, 4
and eax, 0xf
and edx, 0x1f
cmp edx, dword [eax*4 + 0x74bc00]
jmp 0x479ec5
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x94], esi
jmp 0x479bd8
mov eax, edi
cmp al, 0xd
je 0x4799a6
test ecx, ecx
jne 0x477b42
mov eax, dword [ebp - 0x94]
cmp byte [eax], 0
jne 0x477b42
mov edx, dword [ebp - 0xec]
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x477b42
movzx esi, byte [edx + 0xc]
mov edi, 0xf
and edi, esi
mov eax, edi
mov dword [ebp - 0x13c], edi
dec eax
cmp eax, 0xb
ja 0x477b42
test cl, 3
jne 0x479fba
mov edx, ecx
mov edi, 0x64
sar edx, 0x1f
mov eax, ecx
idiv edi
test edx, edx
jne 0x479fd0
mov edx, ecx
mov edi, 0x190
sar edx, 0x1f
mov eax, ecx
idiv edi
test edx, edx
jne 0x47a068
mov edx, dword [ebp - 0xec]
mov ax, word [edx + 0xc]
mov edx, esi
shr ax, 4
and edx, 0xf
and eax, 0x1f
cmp eax, dword [edx*4 + 0x74bc40]
ja 0x477b42
mov edx, dword [ebp - 0xec]
mov al, byte [edx + 0xd]
shr al, 1
and eax, 0x1f
cmp eax, 0x17
ja 0x477b42
mov eax, dword [edx + 0xc]
shr eax, 0xe
and eax, 0x3f
cmp eax, 0x3b
ja 0x477b42
fld qword [edx + 0x10]
fcom qword [0x74c434]
fnstsw ax
test ah, 1
jne 0x47a08b
fld dword [0x74c424]
fxch st(1)
fcompp
fnstsw ax
test ah, 5
je 0x477b42
mov ax, word [edx + 0x18]
shl eax, 3
sar ax, 4
cwde
add eax, 0x347
cmp eax, 0x68e
ja 0x477b42
mov dword [edx], 0xb
jmp 0x4790d0
mov ecx, dword [ebp - 0xec]
mov edi, dword [ebp - 0x13c]
mov ax, word [ecx + 0xc]
shr ax, 4
and eax, 0x1f
cmp eax, dword [edi*4 + 0x74bc00]
jmp 0x479fed
fstp st(0)
jmp 0x477b42
fstp st(0)
mov eax, dword [esi + 8]
add eax, edi
mov dword [esi + 8], eax
jmp 0x478f83
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x12c]
call fcn.00476e50
test eax, eax
jne 0x47a116
mov eax, dword [ebp - 0x94]
cmp byte [eax], 0
jne 0x477b42
mov eax, dword [ebp - 0xec]
mov dword [eax], 0xa
jmp 0x4790d0
mov ecx, dword [ebp - 0xec]
mov edi, dword [ebp - 0x13c]
mov ax, word [ecx + 0xc]
shr ax, 4
and eax, 0x1f
cmp eax, dword [edi*4 + 0x74bc00]
jmp 0x479907
fld qword [0x69a308]
jmp 0x479e31
sub esp, 0xc
push 0
call fcn.00476a20
add esp, 0x10
jmp case.0x4775ba.0
mov esi, dword [ebp - 0x94]
jmp 0x47993c