Function at 0x47fa10
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x55e0a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov eax, ecx
mov dword [ebp - 0x98], edx
mov ecx, dword [ebp + 8]
or edx, 0xffffffff
push esi
xor ebx, ebx
mov dword [ebp - 0x84], ecx
push edi
or edi, edx
mov dword [ebp - 0xa0], eax
xor ecx, ecx
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x64], 0
mov esi, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edx
test eax, eax
je 0x480a5d
cmp byte [eax], cl
je 0x480a5d
mov eax, ecx
inc ecx
mov dword [ebp - 0x88], ecx
cmp eax, 0x3e8
jg 0x480a5d
mov cl, byte [esi]
movsx eax, cl
mov dword [ebp - 0x68], eax
add eax, 0xffffffd5
cmp eax, 0x4c
ja case.0x47fac0.44
movzx eax, byte [eax + 0x480ac0]
jmp dword [eax*4 + 0x480a74]
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
jne 0x47faf0
mov al, byte [esi + 1]
cmp al, 0x70
je 0x47fad9
cmp al, 0x50
jne 0x47faf0
mov al, byte [esi + 2]
cmp al, 0x72
je 0x47fae4
cmp al, 0x52
jne 0x47faf0
mov dword [ebp - 0x5c], 0xb
jmp case.0x47fac0.44
test ebx, ebx
jne 0x47fb17
mov al, byte [esi + 1]
cmp al, 0x73
je 0x47faff
cmp al, 0x53
jne 0x47fb17
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47fb0a
cmp al, 0x54
jne 0x47fb17
mov ebx, 0x1c
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
test ecx, ecx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x75
je 0x47fb2e
cmp al, 0x55
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x67
je 0x47fb3d
cmp al, 0x47
jne case.0x47fac0.44
mov dword [ebp - 0x5c], 0xf
jmp case.0x47fac0.44
test ebx, ebx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x73
je 0x47fb60
cmp al, 0x53
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47fb6f
cmp al, 0x54
jne case.0x47fac0.44
mov ebx, 0x1f
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
test ebx, ebx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x64
je 0x47fb8f
cmp al, 0x44
jne 0x47fb9c
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x47fbc4
cmp cl, 0x54
je 0x47fbc4
cmp al, 0x73
je 0x47fba8
cmp al, 0x53
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47fbb7
cmp al, 0x54
jne case.0x47fac0.44
mov ebx, 0x18
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
mov ebx, 0x19
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
cmp dword [ebp - 0x5c], 0
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x65
je 0x47fbea
cmp al, 0x45
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x63
je 0x47fbf9
cmp al, 0x43
jne case.0x47fac0.44
mov dword [ebp - 0x5c], 0x13
jmp case.0x47fac0.44
test ebx, ebx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x64
je 0x47fc18
cmp al, 0x44
jne 0x47fc25
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x47fc6f
cmp cl, 0x54
je 0x47fc6f
cmp al, 0x65
je 0x47fc2d
cmp al, 0x45
jne 0x47fc3a
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x47fc62
cmp cl, 0x54
je 0x47fc62
cmp al, 0x73
je 0x47fc46
cmp al, 0x53
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47fc55
cmp al, 0x54
jne case.0x47fac0.44
mov ebx, 0x1a
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
mov ebx, 0x21
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
mov ebx, 0x1b
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
cmp dword [ebp - 0x5c], 0
jne 0x47fca4
mov al, byte [esi + 1]
cmp al, 0x65
je 0x47fc8d
cmp al, 0x45
jne 0x47fca4
mov al, byte [esi + 2]
cmp al, 0x62
je 0x47fc98
cmp al, 0x42
jne 0x47fca4
mov dword [ebp - 0x5c], 9
jmp case.0x47fac0.44
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x72
je 0x47fcbe
cmp al, 0x52
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x69
je 0x47fccd
cmp al, 0x49
jne case.0x47fac0.44
mov dword [ebp - 0x64], 6
jmp case.0x47fac0.44
test ebx, ebx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x6d
je 0x47fcf0
cmp al, 0x4d
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47fcff
cmp al, 0x54
jne case.0x47fac0.44
mov ebx, 0x1e
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
jne 0x47fd35
mov al, byte [esi + 1]
cmp al, 0x61
je 0x47fd1e
cmp al, 0x41
jne 0x47fd35
mov al, byte [esi + 2]
cmp al, 0x6e
je 0x47fd29
cmp al, 0x4e
jne 0x47fd35
mov dword [ebp - 0x5c], 8
jmp case.0x47fac0.44
test ebx, ebx
jne 0x47fd5c
mov al, byte [esi + 1]
cmp al, 0x73
je 0x47fd44
cmp al, 0x53
jne 0x47fd5c
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47fd4f
cmp al, 0x54
jne 0x47fd5c
mov ebx, 0x22
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
test ecx, ecx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x75
je 0x47fd6f
cmp al, 0x55
jne 0x47fd7c
mov cl, byte [esi + 2]
cmp cl, 0x6c
je 0x47fda3
cmp cl, 0x4c
je 0x47fda3
cmp al, 0x75
je 0x47fd88
cmp al, 0x55
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x6e
je 0x47fd97
cmp al, 0x4e
jne case.0x47fac0.44
mov dword [ebp - 0x5c], 0xd
jmp case.0x47fac0.44
mov dword [ebp - 0x5c], 0xe
jmp case.0x47fac0.44
cmp dword [ebp - 0x5c], 0
jne 0x47fdf8
mov al, byte [esi + 1]
cmp al, 0x61
je 0x47fdc0
cmp al, 0x41
jne 0x47fdcd
mov cl, byte [esi + 2]
cmp cl, 0x72
je 0x47fdec
cmp cl, 0x52
je 0x47fdec
cmp al, 0x61
je 0x47fdd5
cmp al, 0x41
jne 0x47fdf8
mov al, byte [esi + 2]
cmp al, 0x79
je 0x47fde0
cmp al, 0x59
jne 0x47fdf8
mov dword [ebp - 0x5c], 0xc
jmp case.0x47fac0.44
mov dword [ebp - 0x5c], 0xa
jmp case.0x47fac0.44
test ebx, ebx
jne 0x47fe41
mov al, byte [esi + 1]
cmp al, 0x64
je 0x47fe07
cmp al, 0x44
jne 0x47fe14
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x47fe34
cmp cl, 0x54
je 0x47fe34
cmp al, 0x65
je 0x47fe1c
cmp al, 0x45
jne 0x47fe41
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47fe27
cmp al, 0x54
jne 0x47fe41
mov ebx, 0x20
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
mov ebx, 0x17
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
cmp dword [ebp - 0x64], 0
jne 0x47fe69
mov al, byte [esi + 1]
cmp al, 0x6f
je 0x47fe52
cmp al, 0x4f
jne 0x47fe69
mov al, byte [esi + 2]
cmp al, 0x6e
je 0x47fe5d
cmp al, 0x4e
jne 0x47fe69
mov dword [ebp - 0x64], 2
jmp case.0x47fac0.44
test ebx, ebx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x73
je 0x47fe80
cmp al, 0x53
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47fe8f
cmp al, 0x54
jne case.0x47fac0.44
mov ebx, 0x16
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
cmp dword [ebp - 0x5c], 0
jne 0x47fec4
mov al, byte [esi + 1]
cmp al, 0x6f
je 0x47fead
cmp al, 0x4f
jne 0x47fec4
mov al, byte [esi + 2]
cmp al, 0x76
je 0x47feb8
cmp al, 0x56
jne 0x47fec4
mov dword [ebp - 0x5c], 0x12
jmp case.0x47fac0.44
test ebx, ebx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x73
je 0x47fedb
cmp al, 0x53
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47feea
cmp al, 0x54
jne case.0x47fac0.44
mov ebx, 0x1d
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
cmp dword [ebp - 0x5c], 0
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x63
je 0x47ff10
cmp al, 0x43
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47ff1f
cmp al, 0x54
jne case.0x47fac0.44
mov dword [ebp - 0x5c], 0x11
jmp case.0x47fac0.44
test ebx, ebx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x64
je 0x47ff3e
cmp al, 0x44
jne 0x47ff4b
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x47ff73
cmp cl, 0x54
je 0x47ff73
cmp al, 0x73
je 0x47ff57
cmp al, 0x53
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47ff66
cmp al, 0x54
jne case.0x47fac0.44
mov ebx, 0x14
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
mov ebx, 0x15
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x47ffa9
mov al, byte [esi + 1]
cmp al, 0x61
je 0x47ff92
cmp al, 0x41
jne 0x47ffa9
mov al, byte [esi + 2]
cmp al, 0x74
je 0x47ff9d
cmp al, 0x54
jne 0x47ffa9
mov dword [ebp - 0x64], 7
jmp case.0x47fac0.44
cmp dword [ebp - 0x5c], 0
jne 0x47ffd1
mov al, byte [esi + 1]
cmp al, 0x65
je 0x47ffba
cmp al, 0x45
jne 0x47ffd1
mov al, byte [esi + 2]
cmp al, 0x70
je 0x47ffc5
cmp al, 0x50
jne 0x47ffd1
mov dword [ebp - 0x5c], 0x10
jmp case.0x47fac0.44
test ecx, ecx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x75
je 0x47ffe8
cmp al, 0x55
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x6e
je 0x47fff7
cmp al, 0x4e
jne case.0x47fac0.44
mov dword [ebp - 0x64], 1
jmp case.0x47fac0.44
cmp dword [ebp - 0x64], 0
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x68
je 0x480018
cmp al, 0x48
jne 0x480025
mov cl, byte [esi + 2]
cmp cl, 0x75
je 0x48004c
cmp cl, 0x55
je 0x48004c
cmp al, 0x75
je 0x480031
cmp al, 0x55
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x65
je 0x480040
cmp al, 0x45
jne case.0x47fac0.44
mov dword [ebp - 0x64], 3
jmp case.0x47fac0.44
mov dword [ebp - 0x64], 5
jmp case.0x47fac0.44
test ebx, ebx
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x74
je 0x48006f
cmp al, 0x54
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x41
jl 0x48007e
cmp al, 0x5a
jle case.0x47fac0.44
cmp al, 0x61
jl 0x47fcff
cmp al, 0x7a
jle case.0x47fac0.44
mov ebx, 0x1e
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
cmp dword [ebp - 0x64], 0
jne case.0x47fac0.44
mov al, byte [esi + 1]
cmp al, 0x65
je 0x4800b4
cmp al, 0x45
jne case.0x47fac0.44
mov al, byte [esi + 2]
cmp al, 0x64
je 0x4800c3
cmp al, 0x44
jne case.0x47fac0.44
mov dword [ebp - 0x64], 4
jmp case.0x47fac0.44
cmp edx, 0xffffffff
je 0x4800da
inc esi
jmp case.0x47fac0.44
test ebx, ebx
je 0x4800e9
cmp ebx, 0x1e
je 0x4800e9
inc esi
jmp case.0x47fac0.44
mov dl, byte [esi + 1]
xor ebx, ebx
cmp cl, 0x2b
sete bl
inc esi
mov eax, esi
lea ebx, [ebx*2 - 1]
cmp dl, 0x30
jl 0x480786
mov cl, dl
lea esp, [esp]
cmp cl, 0x39
jg 0x48011e
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jge 0x480110
cmp esi, eax
je 0x4806fb
sub eax, esi
cmp eax, 4
jne 0x480167
movsx eax, dl
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 1]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*2]
movsx eax, byte [esi + 2]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 3]
lea ecx, [ecx - 0x3ee8]
lea ecx, [eax + ecx*2]
imul ebx, ecx
mov dword [ebp - 0x74], ebx
mov ebx, 0x1e
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
cmp eax, 2
jne 0x480180
movsx eax, dl
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 1]
lea eax, [eax + ecx*2]
add eax, 0xfffffdf0
jmp 0x48018f
cmp eax, 1
jne 0x480786
movsx eax, dl
sub eax, 0x30
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 2
imul ebx, ecx
mov dword [ebp - 0x74], ebx
mov ebx, 0x1e
mov dword [ebp - 0x54], ebx
jmp case.0x47fac0.44
lea ebx, [esi + 1]
mov dword [ebp - 0x7c], 0xffffffff
mov edx, ebx
or edi, 0xffffffff
mov al, byte [edx]
cmp al, 0x30
jl 0x4801cd
cmp al, 0x39
jg 0x4801cd
mov al, byte [edx + 1]
inc edx
cmp al, 0x30
jge 0x4801c1
mov al, byte [edx]
cmp al, 0x3a
jne 0x48038c
cmp dword [ebp - 0x80], 0
jl 0x4801e7
cmp dword [ebp - 0x78], 0
jge 0x4805bb
mov eax, edx
sub eax, esi
cmp eax, 2
jg 0x4805bb
mov eax, dword [ebp - 0x68]
jne 0x480209
lea ecx, [eax + eax*4]
movsx eax, byte [ebx]
lea eax, [eax + ecx*2]
add eax, 0xfffffdf0
jmp 0x48020c
add eax, 0xffffffd0
inc edx
mov dword [ebp - 0x68], eax
mov esi, edx
mov al, byte [edx]
cmp al, 0x30
jl 0x4805bb
lea esp, [esp]
cmp al, 0x39
jg 0x48022c
mov al, byte [edx + 1]
inc edx
cmp al, 0x30
jge 0x480220
cmp edx, esi
je 0x4805bb
mov eax, edx
sub eax, esi
cmp eax, 2
jg 0x4805bb
movsx eax, byte [esi]
jne 0x480257
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 1]
lea eax, [eax + ecx*2]
add eax, 0xfffffdf0
jmp 0x48025a
sub eax, 0x30
cmp byte [edx], 0x3a
mov esi, edx
mov dword [ebp - 0x94], eax
jne 0x48026a
lea esi, [edx + 1]
mov cl, byte [esi]
mov edx, esi
cmp cl, 0x30
jl 0x4802ae
mov al, cl
cmp al, 0x39
jg 0x480281
mov al, byte [edx + 1]
inc edx
cmp al, 0x30
jge 0x480275
cmp edx, esi
je 0x4802ae
mov eax, edx
sub eax, esi
cmp eax, 2
jg 0x4805bb
movsx eax, cl
jne 0x4802a8
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 1]
lea eax, [eax + ecx*2]
add eax, 0xfffffdf0
jmp 0x4802ab
sub eax, 0x30
mov dword [ebp - 0x7c], eax
cmp byte [edx], 0x2e
jne 0x4802f9
mov al, byte [edx + 1]
inc edx
xor edi, edi
mov ebx, edx
cmp al, 0x30
jl 0x4802e1
mov esi, edx
sub esi, ebx
cmp al, 0x39
jg 0x4802e1
cmp esi, 6
jge 0x4802d8
lea edi, [edi + edi*4]
movsx eax, al
lea edi, [edi - 0x18]
lea edi, [eax + edi*2]
mov al, byte [edx + 1]
inc edx
inc esi
cmp al, 0x30
jge 0x4802c3
mov ecx, edx
sub ecx, ebx
cmp ecx, 6
jge 0x4802f9
mov eax, 6
sub eax, ecx
lea edi, [edi + edi*4]
add edi, edi
dec eax
jne 0x4802f1
mov al, byte [edx]
mov esi, dword [ebp - 0x68]
cmp al, 0x5a
jne 0x48030c
mov ebx, 0x1e
mov dword [ebp - 0x54], ebx
jmp 0x48035b
cmp esi, 0xc
jg 0x480358
mov ecx, edx
test al, al
je 0x480327
cmp al, 0x20
je 0x48031f
cmp al, 9
jne 0x480327
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x480317
mov al, byte [ecx]
cmp al, 0x70
je 0x480331
cmp al, 0x50
jne 0x48033e
mov bl, byte [ecx + 1]
cmp bl, 0x6d
je 0x48037d
cmp bl, 0x4d
je 0x48037d
cmp esi, 0xc
jne 0x480358
cmp al, 0x61
je 0x48034b
cmp al, 0x41
jne 0x480358
mov al, byte [ecx + 1]
cmp al, 0x6d
je 0x480356
cmp al, 0x4d
jne 0x480358
xor esi, esi
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x80], esi
mov esi, edx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edi
jmp 0x4805be
mov ebx, dword [ebp - 0x54]
cmp esi, 0xc
jne 0x480387
jmp 0x48035b
add esi, 0xc
jmp 0x48035b
cmp al, 0x2f
je 0x480398
cmp al, 0x2d
jne 0x48065d
mov cl, byte [edx + 1]
cmp cl, 0x30
jl 0x48065d
cmp cl, 0x39
jg 0x48065d
cmp dword [ebp - 0x5c], 0
jne 0x4805bb
mov eax, dword [ebp - 0x68]
lea edx, [eax - 0x30]
mov al, byte [ebx]
cmp al, 0x30
jl 0x48040c
cmp al, 0x39
jg 0x48040c
movsx eax, al
lea ecx, [edx + edx*4]
inc ebx
lea edx, [ecx - 0x18]
lea edx, [eax + edx*2]
mov al, byte [ebx]
cmp al, 0x30
jl 0x48040c
cmp al, 0x39
jg 0x48040c
movsx eax, al
lea ecx, [edx - 6]
lea ecx, [edx + ecx*4]
lea ecx, [eax + ecx*2]
mov al, byte [ebx + 1]
cmp al, 0x30
jl 0x4805bb
cmp al, 0x39
jg 0x4805bb
movsx eax, al
lea ecx, [ecx + ecx*4]
lea edx, [ecx - 0x18]
add ebx, 2
lea edx, [eax + edx*2]
mov al, byte [ebx]
cmp al, 0x2f
je 0x48041a
cmp al, 0x2d
jne 0x4805bb
mov al, byte [ebx + 1]
cmp al, 0x30
jl 0x4805bb
cmp al, 0x39
jg 0x4805bb
add ebx, 2
movsx edi, al
sub edi, 0x30
mov al, byte [ebx]
cmp al, 0x30
jl 0x48044d
cmp al, 0x39
jg 0x48044d
lea ecx, [edi + edi*4]
movsx eax, al
lea edi, [ecx - 0x18]
inc ebx
lea edi, [eax + edi*2]
mov al, byte [ebx]
cmp al, 0x2f
je 0x48045b
cmp al, 0x2d
jne 0x4805bb
mov al, byte [ebx + 1]
cmp al, 0x30
jl 0x4805bb
cmp al, 0x39
jg 0x4805bb
mov cl, byte [ebx + 2]
add ebx, 2
movsx eax, al
sub eax, 0x30
mov byte [ebp - 0x5d], cl
cmp cl, 0x30
jl 0x4804f0
cmp cl, 0x39
jg 0x480495
lea ecx, [eax + eax*4]
movsx eax, byte [ebp - 0x5d]
lea eax, [eax + ecx*2]
add eax, 0xffffffd0
inc ebx
mov cl, byte [ebx]
mov byte [ebp - 0x5d], cl
cmp cl, 0x30
jl 0x4804f0
cmp cl, 0x39
jg 0x4804f0
lea ecx, [eax + eax*4]
movsx eax, byte [ebp - 0x5d]
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
mov al, byte [ebx + 1]
cmp al, 0x30
jl 0x4805bb
cmp al, 0x39
jg 0x4805bb
movsx eax, al
lea ecx, [ecx + ecx*4]
add ebx, 2
lea eax, [eax + ecx*2]
mov cl, byte [ebx]
add eax, 0xffffffd0
mov byte [ebp - 0x5d], cl
cmp cl, 0x30
jl 0x4804f0
cmp cl, 0x39
jg 0x4804f0
lea ecx, [eax + eax*4]
movsx eax, byte [ebp - 0x5d]
lea eax, [eax + ecx*2]
add eax, 0xffffffd0
inc ebx
mov cl, byte [ebx]
cmp cl, 0x54
jne 0x480504
mov ch, byte [ebx + 1]
cmp ch, 0x30
jl 0x480504
cmp ch, 0x39
jle 0x48052e
cmp cl, 0x30
jl 0x480512
cmp cl, 0x39
jle 0x4805bb
cmp cl, 0x41
jl 0x480520
cmp cl, 0x5a
jle 0x4805bb
cmp cl, 0x61
jl 0x48052e
cmp cl, 0x7a
jle 0x4805bb
cmp edx, 0x1f
jg 0x480586
test edx, edx
je 0x480586
cmp edx, 0xc
jle 0x480541
cmp edi, 0xc
jg 0x4805b9
cmp eax, 0x46
jge 0x48054d
add eax, 0x7d0
jmp 0x480557
cmp eax, 0x64
jge 0x480557
add eax, 0x76c
cmp edx, 0xc
jle 0x480571
lea ecx, [edi + 7]
mov dword [ebp - 0x6c], edx
mov edi, eax
mov dword [ebp - 0x5c], ecx
mov esi, ebx
mov dword [ebp - 0x58], edi
mov ebx, dword [ebp - 0x54]
jmp case.0x47fac0.44
mov dword [ebp - 0x6c], edi
add edx, 7
mov edi, eax
mov dword [ebp - 0x5c], edx
mov esi, ebx
mov dword [ebp - 0x58], edi
mov ebx, dword [ebp - 0x54]
jmp case.0x47fac0.44
cmp edi, 0xc
jg 0x4805bb
cmp eax, 0x1f
jg 0x4805bb
mov ecx, edx
mov dword [ebp - 0x58], ecx
cmp edx, 0x46
jge 0x4805a2
lea ecx, [edx + 0x7d0]
jmp 0x4805ad
cmp edx, 0x64
jge 0x4805b0
lea ecx, [edx + 0x76c]
mov dword [ebp - 0x58], ecx
lea edx, [edi + 7]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x5c], edx
mov esi, ebx
mov ebx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x58]
mov al, byte [esi]
test al, al
je 0x480610
cmp al, 0x20
je 0x4807bb
cmp al, 9
je 0x480610
cmp al, 0x2c
je 0x480610
cmp al, 0x3b
je 0x480610
cmp al, 0x2d
je 0x480610
cmp al, 0x2b
je 0x480610
cmp al, 0x2f
je 0x480610
cmp al, 0x28
je 0x480610
cmp al, 0x29
je 0x480610
cmp al, 0x5b
je 0x480610
cmp al, 0x5d
je 0x480610
cmp al, 0x54
jne 0x480606
mov al, byte [esi + 1]
cmp al, 0x30
jl 0x480606
cmp al, 0x39
jle 0x480610
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4805c7
mov edi, edi
mov al, byte [esi]
cmp al, 0x20
je 0x4807bb
cmp al, 9
je 0x4807bb
cmp al, 0x2c
je 0x4807bb
cmp al, 0x3b
je 0x4807bb
cmp al, 0x2f
je 0x4807bb
cmp al, 0x28
je 0x4807bb
cmp al, 0x29
je 0x4807bb
cmp al, 0x5b
je 0x4807bb
cmp al, 0x5d
jne 0x48078e
inc esi
jmp 0x480610
cmp al, 0x41
jl 0x480669
cmp al, 0x5a
jle 0x4805bb
cmp al, 0x61
jl 0x480675
cmp al, 0x7a
jle 0x4805bb
sub edx, esi
cmp edx, 5
jne 0x4806c2
mov edi, dword [ebp - 0x58]
test edi, edi
jns 0x480786
mov eax, dword [ebp - 0x68]
lea ecx, [eax + eax*4]
movsx eax, byte [ebx]
mov ebx, dword [ebp - 0x54]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 2]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 3]
lea eax, [eax + ecx*2]
lea edi, [eax + eax*4]
movsx eax, byte [esi + 4]
lea edi, [edi - 0x411a8]
lea edi, [eax + edi*2]
mov dword [ebp - 0x58], edi
jmp case.0x47fac0.44
cmp edx, 4
jne 0x480703
mov edi, dword [ebp - 0x58]
test edi, edi
jns 0x480786
mov eax, dword [ebp - 0x68]
lea ecx, [eax + eax*4]
movsx eax, byte [ebx]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 2]
lea eax, [eax + ecx*2]
lea edi, [eax + eax*4]
movsx eax, byte [esi + 3]
lea edi, [edi - 0x6828]
lea edi, [eax + edi*2]
mov dword [ebp - 0x58], edi
mov ebx, dword [ebp - 0x54]
jmp case.0x47fac0.44
cmp edx, 2
jne 0x480766
mov eax, dword [ebp - 0x68]
lea ecx, [eax + eax*4]
movsx eax, byte [ebx]
lea eax, [eax + ecx*2]
add eax, 0xfffffdf0
cmp dword [ebp - 0x6c], 0
jge 0x48072c
cmp eax, 0x20
jge 0x48072c
mov dword [ebp - 0x6c], eax
jmp 0x4805bb
mov edi, dword [ebp - 0x58]
test edi, edi
jns 0x480786
mov ebx, dword [ebp - 0x54]
cmp eax, 0x46
jge 0x480749
lea edi, [eax + 0x7d0]
mov dword [ebp - 0x58], edi
jmp case.0x47fac0.44
cmp eax, 0x64
jge 0x48075c
lea edi, [eax + 0x76c]
mov dword [ebp - 0x58], edi
jmp case.0x47fac0.44
mov edi, eax
mov dword [ebp - 0x58], edi
jmp case.0x47fac0.44
cmp edx, 1
jne 0x480783
cmp dword [ebp - 0x6c], 0
jge 0x4805bb
mov eax, dword [ebp - 0x68]
add eax, 0xffffffd0
mov dword [ebp - 0x6c], eax
jmp 0x4805bb
mov edi, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
jmp case.0x47fac0.44
cmp byte [esi], 0x2d
jne 0x4807c1
cmp esi, dword [ebp - 0xa0]
jbe 0x4807b0
movzx eax, byte [esi - 1]
push eax
call fcn.004e3ea3
add esp, 4
test eax, eax
je 0x4807b0
test edi, edi
js 0x4807bb
mov al, byte [esi + 1]
cmp al, 0x30
jl 0x4807bb
cmp al, 0x39
jle 0x4807c1
inc esi
jmp 0x480610
cmp byte [esi], 0x54
jne 0x4807d5
mov al, byte [esi + 1]
lea ecx, [esi + 1]
cmp al, 0x30
jl 0x4807d5
cmp al, 0x39
cmovle esi, ecx
cmp byte [esi], 0
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x88]
jne 0x47fa91
mov esi, edx
test ebx, ebx
je case.default.0x480806
cmp esi, 0xffffffff
jne case.default.0x480806
lea eax, [ebx - 0x14]
cmp eax, 0xe
ja case.default.0x480806
jmp dword [eax*4 + 0x480b10]
mov esi, 0xfffffe20
jmp case.default.0x480806
mov esi, 0xfffffe20
mov dword [ebp - 0x70], 0x3c
jmp case.default.0x480806
mov esi, 0xfffffe5c
jmp case.default.0x480806
mov esi, 0xfffffe5c
mov dword [ebp - 0x70], 0x3c
jmp case.default.0x480806
mov esi, 0xfffffe98
jmp case.default.0x480806
mov esi, 0xfffffe98
mov dword [ebp - 0x70], 0x3c
jmp case.default.0x480806
mov esi, 0xfffffed4
jmp case.default.0x480806
mov esi, 0xfffffed4
mov dword [ebp - 0x70], 0x3c
jmp case.default.0x480806
mov esi, 0xffffff10
jmp case.default.0x480806
mov esi, 0xffffff2e
jmp case.default.0x480806
xor esi, esi
jmp case.default.0x480806
xor esi, esi
mov dword [ebp - 0x70], 0x3c
jmp case.default.0x480806
mov esi, 0x3c
jmp case.default.0x480806
mov esi, 0x78
jmp case.default.0x480806
mov esi, 0x21c
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x480a5d
cmp dword [ebp - 0x6c], 0xffffffff
je 0x480a5d
cmp edi, 0xffffffff
je 0x480a5d
cmp edi, 0x7fff
jg 0x480a5d
cmp dword [ebp - 0x8c], 0xffffffff
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x2c], xmm0
movd eax, xmm0
movdqu xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0x14], di
cmovne eax, dword [ebp - 0x8c]
cmp dword [ebp - 0x90], 0xffffffff
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
cmovne eax, dword [ebp - 0x90]
cmp dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
cmovne eax, dword [ebp - 0x78]
cmp dword [ebp - 0x80], 0xffffffff
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
cmovne eax, dword [ebp - 0x80]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x1c], eax
lea eax, [ecx - 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x64]
movq qword [ebp - 0xc], xmm0
test eax, eax
je 0x480931
dec al
mov byte [ebp - 0x12], al
lea ecx, [ebp - 0x2c]
call fcn.0047f6d0
test ebx, ebx
jne 0x48094c
cmp dword [ebp - 0x98], ebx
je 0x48094c
xor esi, esi
jmp 0x480a1b
cmp esi, 0xffffffff
jne 0x480a1b
mov cx, word [ebp - 0x14]
mov eax, 0x7b2
cmp cx, ax
jl 0x4809d8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
movsx eax, cx
sub eax, 0x76c
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x50]
push eax
call fcn.004e8a86
mov ecx, eax
add esp, 4
and ecx, edx
cmp ecx, esi
je 0x4809d8
push 0
push 0xf4240
push edx
push eax
call fcn.004de9e0
mov ecx, dword [ebp - 0x84]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], edx
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004dbbe3
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], 0x15180
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x98], 0
push eax
call fcn.004e6de3
mov eax, dword [ebp - 0x44]
add esp, 8
add eax, 0xfffffffe
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x48]
lea eax, [eax + ecx*8]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [ebp - 0x4c]
lea esi, [eax + ecx*4]
mov eax, esi
lea ecx, [ebp - 0x2c]
shl eax, 4
sub eax, esi
shl eax, 2
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x70]
shl eax, 4
sub eax, dword [ebp - 0x70]
shl eax, 2
mov dword [ebp - 8], eax
call fcn.0047f400
mov ecx, dword [ebp - 0x84]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004dbbe3
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004dbbe3
mov esp, ebp
pop ebp
ret