Function at 0x416e20
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
push ebx
push esi
mov esi, dword [ebp + 8]
xor eax, eax
push edi
or edi, 0xffffffff
xor ebx, ebx
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x30], edi
cmp esi, eax
je 0x417ca6
cmp byte [esi], al
jne 0x416e7a
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
mov eax, ecx
inc ecx
cmp eax, 0x3e8
mov dword [ebp - 0x34], ecx
jg 0x416e67
mov al, byte [esi]
movsx edi, al
lea ecx, [edi - 0x2b]
cmp ecx, 0x4c
ja case.0x416e9f.44
movzx ecx, byte [ecx + 0x417cfc]
jmp dword [ecx*4 + 0x417cb0]
mov ecx, dword [ebp - 4]
test ecx, ecx
jne 0x416ecf
mov al, byte [esi + 1]
cmp al, 0x70
je 0x416eb8
cmp al, 0x50
jne 0x416ecf
mov al, byte [esi + 2]
cmp al, 0x72
je 0x416ec3
cmp al, 0x52
jne 0x416ecf
mov dword [ebp - 4], 0xb
jmp case.0x416e9f.44
test edx, edx
jne 0x416ef5
mov al, byte [esi + 1]
cmp al, 0x73
je 0x416ede
cmp al, 0x53
jne 0x416ef5
mov al, byte [esi + 2]
cmp al, 0x74
je 0x416ee9
cmp al, 0x54
jne 0x416ef5
mov dword [ebp - 8], 0x1c
jmp case.0x416e9f.44
test ecx, ecx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x75
je 0x416f0c
cmp al, 0x55
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x67
je 0x416f1b
cmp al, 0x47
jne case.0x416e9f.44
mov dword [ebp - 4], 0xf
jmp case.0x416e9f.44
test edx, edx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x73
je 0x416f3e
cmp al, 0x53
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x416f4d
cmp al, 0x54
jne case.0x416e9f.44
mov dword [ebp - 8], 0x1f
jmp case.0x416e9f.44
test edx, edx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x64
je 0x416f6c
cmp al, 0x44
jne 0x416f85
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x416f79
cmp cl, 0x54
jne 0x416f85
mov dword [ebp - 8], 0x19
jmp case.0x416e9f.44
cmp al, 0x73
je 0x416f91
cmp al, 0x53
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x416fa0
cmp al, 0x54
jne case.0x416e9f.44
mov dword [ebp - 8], 0x18
jmp case.0x416e9f.44
cmp dword [ebp - 4], 0
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x65
je 0x416fc5
cmp al, 0x45
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x63
je 0x416fd4
cmp al, 0x43
jne case.0x416e9f.44
mov dword [ebp - 4], 0x13
jmp case.0x416e9f.44
test edx, edx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x64
je 0x416ff3
cmp al, 0x44
jne 0x41700c
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x417000
cmp cl, 0x54
jne 0x41700c
mov dword [ebp - 8], 0x1b
jmp case.0x416e9f.44
cmp al, 0x65
je 0x417014
cmp al, 0x45
jne 0x41702d
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x417021
cmp cl, 0x54
jne 0x41702d
mov dword [ebp - 8], 0x21
jmp case.0x416e9f.44
cmp al, 0x73
je 0x417039
cmp al, 0x53
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x417048
cmp al, 0x54
jne case.0x416e9f.44
mov dword [ebp - 8], 0x1a
jmp case.0x416e9f.44
cmp dword [ebp - 4], 0
jne 0x41707c
mov al, byte [esi + 1]
cmp al, 0x65
je 0x417065
cmp al, 0x45
jne 0x41707c
mov al, byte [esi + 2]
cmp al, 0x62
je 0x417070
cmp al, 0x42
jne 0x41707c
mov dword [ebp - 4], 9
jmp case.0x416e9f.44
test ebx, ebx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x72
je 0x417093
cmp al, 0x52
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x69
je 0x4170a2
cmp al, 0x49
jne case.0x416e9f.44
mov dword [ebp - 0x14], 6
jmp case.0x416e9f.44
test edx, edx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x6d
je 0x4170c5
cmp al, 0x4d
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x4170d4
cmp al, 0x54
jne case.0x416e9f.44
mov dword [ebp - 8], 0x1e
jmp case.0x416e9f.44
mov ecx, dword [ebp - 4]
test ecx, ecx
jne 0x417109
mov al, byte [esi + 1]
cmp al, 0x61
je 0x4170f2
cmp al, 0x41
jne 0x417109
mov al, byte [esi + 2]
cmp al, 0x6e
je 0x4170fd
cmp al, 0x4e
jne 0x417109
mov dword [ebp - 4], 8
jmp case.0x416e9f.44
test edx, edx
jne 0x41712f
mov al, byte [esi + 1]
cmp al, 0x73
je 0x417118
cmp al, 0x53
jne 0x41712f
mov al, byte [esi + 2]
cmp al, 0x74
je 0x417123
cmp al, 0x54
jne 0x41712f
mov dword [ebp - 8], 0x22
jmp case.0x416e9f.44
test ecx, ecx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x75
je 0x417142
cmp al, 0x55
jne 0x41715b
mov cl, byte [esi + 2]
cmp cl, 0x6c
je 0x41714f
cmp cl, 0x4c
jne 0x41715b
mov dword [ebp - 4], 0xe
jmp case.0x416e9f.44
cmp al, 0x75
je 0x417167
cmp al, 0x55
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x6e
je 0x417176
cmp al, 0x4e
jne case.0x416e9f.44
mov dword [ebp - 4], 0xd
jmp case.0x416e9f.44
cmp dword [ebp - 4], 0
jne 0x4171cb
mov al, byte [esi + 1]
cmp al, 0x61
je 0x417193
cmp al, 0x41
jne 0x4171ac
mov cl, byte [esi + 2]
cmp cl, 0x72
je 0x4171a0
cmp cl, 0x52
jne 0x4171ac
mov dword [ebp - 4], 0xa
jmp case.0x416e9f.44
cmp al, 0x61
je 0x4171b4
cmp al, 0x41
jne 0x4171cb
mov al, byte [esi + 2]
cmp al, 0x79
je 0x4171bf
cmp al, 0x59
jne 0x4171cb
mov dword [ebp - 4], 0xc
jmp case.0x416e9f.44
test edx, edx
jne 0x417212
mov al, byte [esi + 1]
cmp al, 0x64
je 0x4171da
cmp al, 0x44
jne 0x4171f3
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x4171e7
cmp cl, 0x54
jne 0x4171f3
mov dword [ebp - 8], 0x17
jmp case.0x416e9f.44
cmp al, 0x65
je 0x4171fb
cmp al, 0x45
jne 0x417212
mov al, byte [esi + 2]
cmp al, 0x74
je 0x417206
cmp al, 0x54
jne 0x417212
mov dword [ebp - 8], 0x20
jmp case.0x416e9f.44
test ebx, ebx
jne 0x417238
mov al, byte [esi + 1]
cmp al, 0x6f
je 0x417221
cmp al, 0x4f
jne 0x417238
mov al, byte [esi + 2]
cmp al, 0x6e
je 0x41722c
cmp al, 0x4e
jne 0x417238
mov dword [ebp - 0x14], 2
jmp case.0x416e9f.44
test edx, edx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x73
je 0x41724f
cmp al, 0x53
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x41725e
cmp al, 0x54
jne case.0x416e9f.44
mov dword [ebp - 8], 0x16
jmp case.0x416e9f.44
cmp dword [ebp - 4], 0
jne 0x417292
mov al, byte [esi + 1]
cmp al, 0x6f
je 0x41727b
cmp al, 0x4f
jne 0x417292
mov al, byte [esi + 2]
cmp al, 0x76
je 0x417286
cmp al, 0x56
jne 0x417292
mov dword [ebp - 4], 0x12
jmp case.0x416e9f.44
test edx, edx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x73
je 0x4172a9
cmp al, 0x53
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x4172b8
cmp al, 0x54
jne case.0x416e9f.44
mov dword [ebp - 8], 0x1d
jmp case.0x416e9f.44
cmp dword [ebp - 4], 0
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x63
je 0x4172dd
cmp al, 0x43
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x4172ec
cmp al, 0x54
jne case.0x416e9f.44
mov dword [ebp - 4], 0x11
jmp case.0x416e9f.44
test edx, edx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x64
je 0x41730b
cmp al, 0x44
jne 0x417324
mov cl, byte [esi + 2]
cmp cl, 0x74
je 0x417318
cmp cl, 0x54
jne 0x417324
mov dword [ebp - 8], 0x15
jmp case.0x416e9f.44
cmp al, 0x73
je 0x417330
cmp al, 0x53
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x74
je 0x41733f
cmp al, 0x54
jne case.0x416e9f.44
mov dword [ebp - 8], 0x14
jmp case.0x416e9f.44
test ebx, ebx
jne 0x417371
mov al, byte [esi + 1]
cmp al, 0x61
je 0x41735a
cmp al, 0x41
jne 0x417371
mov al, byte [esi + 2]
cmp al, 0x74
je 0x417365
cmp al, 0x54
jne 0x417371
mov dword [ebp - 0x14], 7
jmp case.0x416e9f.44
cmp dword [ebp - 4], 0
jne 0x417399
mov al, byte [esi + 1]
cmp al, 0x65
je 0x417382
cmp al, 0x45
jne 0x417399
mov al, byte [esi + 2]
cmp al, 0x70
je 0x41738d
cmp al, 0x50
jne 0x417399
mov dword [ebp - 4], 0x10
jmp case.0x416e9f.44
test ebx, ebx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x75
je 0x4173b0
cmp al, 0x55
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x6e
je 0x4173bf
cmp al, 0x4e
jne case.0x416e9f.44
mov dword [ebp - 0x14], 1
jmp case.0x416e9f.44
test ebx, ebx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x68
je 0x4173de
cmp al, 0x48
jne 0x4173f7
mov cl, byte [esi + 2]
cmp cl, 0x75
je 0x4173eb
cmp cl, 0x55
jne 0x4173f7
mov dword [ebp - 0x14], 5
jmp case.0x416e9f.44
cmp al, 0x75
je 0x417403
cmp al, 0x55
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x65
je 0x417412
cmp al, 0x45
jne case.0x416e9f.44
mov dword [ebp - 0x14], 3
jmp case.0x416e9f.44
test edx, edx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x74
je 0x417435
cmp al, 0x54
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x41
jl 0x417444
cmp al, 0x5a
jle case.0x416e9f.44
cmp al, 0x61
jl 0x417450
cmp al, 0x7a
jle case.0x416e9f.44
mov dword [ebp - 8], 0x1e
jmp case.0x416e9f.44
test ebx, ebx
jne case.0x416e9f.44
mov al, byte [esi + 1]
cmp al, 0x65
je 0x417473
cmp al, 0x45
jne case.0x416e9f.44
mov al, byte [esi + 2]
cmp al, 0x64
je 0x417482
cmp al, 0x44
jne case.0x416e9f.44
mov dword [ebp - 0x14], 4
jmp case.0x416e9f.44
cmp dword [ebp - 0x20], 0xffffffff
je 0x41749a
inc esi
jmp case.0x416e9f.44
test edx, edx
je 0x4174a9
cmp edx, 0x1e
je 0x4174a9
inc esi
jmp case.0x416e9f.44
xor edx, edx
cmp al, 0x2b
sete dl
inc esi
mov eax, esi
lea edx, [edx + edx - 1]
mov edi, edx
mov dl, byte [esi]
cmp dl, 0x30
jl case.0x416e9f.44
mov cl, dl
cmp cl, 0x39
jg 0x4174d4
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jge 0x4174c6
cmp esi, eax
je case.0x416e9f.44
sub eax, esi
cmp eax, 4
jne 0x41751a
movsx ecx, byte [esi + 1]
movsx eax, dl
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*2]
movsx eax, byte [esi + 2]
lea eax, [eax + edx*2]
movsx edx, byte [esi + 3]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2 - 0x7dd0]
imul edi, eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 8], 0x1e
jmp case.0x416e9f.44
cmp eax, 2
jne 0x417532
movsx ecx, byte [esi + 1]
movsx eax, dl
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2 - 0x210]
jmp 0x417541
cmp eax, 1
jne case.0x416e9f.44
movsx ecx, dl
sub ecx, 0x30
mov eax, ecx
shl eax, 4
sub eax, ecx
add eax, eax
add eax, eax
imul edi, eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 8], 0x1e
jmp case.0x416e9f.44
lea eax, [esi + 1]
mov ecx, eax
mov dl, byte [ecx]
cmp dl, 0x30
mov dword [ebp - 0x28], 0xffffffff
jl 0x41757f
cmp dl, 0x39
jg 0x41757f
mov dl, byte [ecx + 1]
inc ecx
cmp dl, 0x30
jge 0x417571
mov dl, byte [ecx]
cmp dl, 0x3a
jne 0x4176e3
cmp dword [ebp - 0x2c], 0
jl 0x41759a
cmp dword [ebp - 0x24], 0
jge case.0x416e9f.44
mov edx, ecx
sub edx, esi
cmp edx, 2
jg case.0x416e9f.44
jne 0x4175bb
movsx eax, byte [eax]
lea edx, [edi + edi*4]
lea edx, [eax + edx*2 - 0x210]
mov dword [ebp - 0x10], edx
jmp 0x4175c1
add edi, 0xffffffd0
mov dword [ebp - 0x10], edi
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
mov esi, ecx
jl case.0x416e9f.44
nop
cmp al, 0x39
jg 0x4175dc
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jge 0x4175d0
cmp ecx, esi
je case.0x416e9f.44
mov eax, ecx
sub eax, esi
cmp eax, 2
jg case.0x416e9f.44
jne 0x417606
movsx eax, byte [esi]
movsx edx, byte [esi + 1]
lea eax, [eax + eax*4]
lea edi, [edx + eax*2 - 0x210]
jmp 0x41760c
movsx edi, byte [esi]
sub edi, 0x30
cmp byte [ecx], 0x3a
mov esi, ecx
jne 0x417616
lea esi, [ecx + 1]
mov cl, byte [esi]
cmp cl, 0x30
mov edx, esi
jl 0x41765c
mov al, cl
cmp al, 0x39
jg 0x41762d
mov al, byte [edx + 1]
inc edx
cmp al, 0x30
jge 0x417621
cmp edx, esi
je 0x41765c
mov eax, edx
sub eax, esi
cmp eax, 2
jg case.0x416e9f.44
movsx eax, cl
jne 0x417656
lea ecx, [eax + eax*4]
movsx eax, byte [esi + 1]
lea ecx, [eax + ecx*2 - 0x210]
mov dword [ebp - 0x28], ecx
jmp 0x41765c
sub eax, 0x30
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x10], 0xc
jg 0x4176cd
mov al, byte [edx]
mov ecx, edx
test al, al
je 0x417680
lea ebx, [ebx]
cmp al, 0x20
je 0x417678
cmp al, 9
jne 0x417680
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x417670
mov al, byte [ecx]
cmp al, 0x70
je 0x41768a
cmp al, 0x50
jne 0x417697
mov bl, byte [ecx + 1]
cmp bl, 0x6d
je 0x4176bb
cmp bl, 0x4d
je 0x4176bb
cmp dword [ebp - 0x10], 0xc
jne 0x4176cd
cmp al, 0x61
je 0x4176a5
cmp al, 0x41
jne 0x4176cd
mov cl, byte [ecx + 1]
cmp cl, 0x6d
je 0x4176b2
cmp cl, 0x4d
jne 0x4176cd
mov dword [ebp - 0x10], 0
jmp 0x4176cd
mov eax, 0xc
cmp dword [ebp - 0x10], eax
jne 0x4176ca
mov dword [ebp - 0x10], eax
jmp 0x4176cd
add dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x30], ecx
mov esi, edx
jmp case.0x416e9f.44
cmp dl, 0x2f
je 0x4176f1
cmp dl, 0x2d
jne 0x4178d8
mov bl, byte [ecx + 1]
cmp bl, 0x30
jl 0x4178d8
cmp bl, 0x39
jg 0x4178d8
cmp dword [ebp - 4], 0
jne case.0x416e9f.44
mov cl, byte [eax]
cmp cl, 0x30
lea ebx, [edi - 0x30]
jl 0x41772a
cmp cl, 0x39
jg 0x41772a
movsx ecx, cl
lea edx, [ebx + ebx*4]
lea ebx, [ecx + edx*2 - 0x30]
inc eax
mov cl, byte [eax]
cmp cl, 0x2f
je 0x41773a
cmp cl, 0x2d
jne case.0x416e9f.44
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jl case.0x416e9f.44
cmp cl, 0x39
jg case.0x416e9f.44
movsx edi, cl
mov cl, byte [eax + 1]
inc eax
sub edi, 0x30
cmp cl, 0x30
jl 0x41776f
cmp cl, 0x39
jg 0x41776f
movsx ecx, cl
lea edx, [edi + edi*4]
lea edi, [ecx + edx*2 - 0x30]
inc eax
mov cl, byte [eax]
cmp cl, 0x2f
je 0x41777f
cmp cl, 0x2d
jne case.0x416e9f.44
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jl case.0x416e9f.44
cmp cl, 0x39
jg case.0x416e9f.44
mov dl, byte [eax + 1]
movsx ecx, cl
inc eax
sub ecx, 0x30
cmp dl, 0x30
jl 0x417811
cmp dl, 0x39
jg 0x4177b4
movsx edx, dl
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*2 - 0x30]
inc eax
mov dl, byte [eax]
cmp dl, 0x30
jl 0x417811
cmp dl, 0x39
jg 0x417801
movsx edx, dl
lea ecx, [ecx + ecx*4]
inc eax
lea edx, [edx + ecx*2 - 0x30]
mov cl, byte [eax]
cmp cl, 0x30
jl case.0x416e9f.44
cmp cl, 0x39
jg case.0x416e9f.44
movsx ecx, cl
lea edx, [edx + edx*4]
inc eax
lea ecx, [ecx + edx*2 - 0x30]
mov dl, byte [eax]
cmp dl, 0x30
jl 0x417811
cmp dl, 0x39
jg 0x417801
movsx edx, dl
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*2 - 0x30]
inc eax
mov dl, byte [eax]
cmp dl, 0x30
jl 0x417811
cmp dl, 0x39
jle case.0x416e9f.44
cmp dl, 0x41
jl 0x41781f
cmp dl, 0x5a
jle case.0x416e9f.44
cmp dl, 0x61
jl 0x41782d
cmp dl, 0x7a
jle case.0x416e9f.44
cmp ebx, 0x1f
jg 0x417887
test ebx, ebx
je 0x417887
cmp ebx, 0xc
jle 0x417847
cmp edi, 0xc
jle 0x417847
mov esi, eax
jmp case.0x416e9f.44
cmp ecx, 0x46
jge 0x417854
add ecx, 0x7d0
jmp 0x41785f
cmp ecx, 0x64
jge 0x41785f
add ecx, 0x76c
cmp ebx, 0xc
mov dword [ebp - 0xc], ecx
jle 0x417877
add edi, 7
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], edi
mov esi, eax
jmp case.0x416e9f.44
add ebx, 7
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], edi
mov esi, eax
jmp case.0x416e9f.44
cmp edi, 0xc
jg case.0x416e9f.44
cmp ecx, 0x1f
jg case.0x416e9f.44
cmp ebx, 0x46
mov dword [ebp - 0xc], ebx
jge 0x4178ba
add ebx, 0x7d0
add edi, 7
mov dword [ebp - 0xc], ebx
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], ecx
mov esi, eax
jmp case.0x416e9f.44
cmp ebx, 0x64
jge 0x4178c8
add ebx, 0x76c
mov dword [ebp - 0xc], ebx
add edi, 7
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], ecx
mov esi, eax
jmp case.0x416e9f.44
cmp dl, 0x41
jl 0x4178e6
cmp dl, 0x5a
jle case.0x416e9f.44
cmp dl, 0x61
jl 0x4178f4
cmp dl, 0x7a
jle case.0x416e9f.44
sub ecx, esi
cmp ecx, 5
jne 0x417938
cmp dword [ebp - 0xc], 0
jge case.0x416e9f.44
movsx edx, byte [eax]
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*2]
movsx ecx, byte [esi + 2]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*4]
movsx eax, byte [esi + 3]
lea eax, [eax + edx*2]
movsx edx, byte [esi + 4]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2 - 0x82350]
mov dword [ebp - 0xc], eax
jmp case.0x416e9f.44
cmp ecx, 4
jne 0x41796d
cmp dword [ebp - 0xc], 0
jge case.0x416e9f.44
movsx edx, byte [eax]
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*2]
movsx ecx, byte [esi + 2]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*4]
movsx eax, byte [esi + 3]
lea ecx, [eax + edx*2 - 0xd050]
mov dword [ebp - 0xc], ecx
jmp case.0x416e9f.44
cmp ecx, 2
jne 0x4179b3
cmp dword [ebp - 0x18], 0
movsx eax, byte [eax]
lea edx, [edi + edi*4]
lea eax, [eax + edx*2 - 0x210]
jge 0x41798f
cmp eax, 0x20
jge 0x41798f
mov dword [ebp - 0x18], eax
jmp case.0x416e9f.44
cmp dword [ebp - 0xc], 0
jge case.0x416e9f.44
cmp eax, 0x46
jge 0x4179a4
add eax, 0x7d0
mov dword [ebp - 0xc], eax
jmp case.0x416e9f.44
cmp eax, 0x64
jge 0x417930
add eax, 0x76c
mov dword [ebp - 0xc], eax
jmp case.0x416e9f.44
cmp ecx, 1
jne case.0x416e9f.44
cmp dword [ebp - 0x18], 0
jge case.0x416e9f.44
add edi, 0xffffffd0
mov dword [ebp - 0x18], edi
mov al, byte [esi]
test al, al
je 0x417a06
lea ebx, [ebx]
cmp al, 0x20
je 0x417a06
cmp al, 9
je 0x417a06
cmp al, 0x2c
je 0x417a06
cmp al, 0x3b
je 0x417a06
cmp al, 0x2d
je 0x417a06
cmp al, 0x2b
je 0x417a06
cmp al, 0x2f
je 0x417a06
cmp al, 0x28
je 0x417a06
cmp al, 0x29
je 0x417a06
cmp al, 0x5b
je 0x417a06
cmp al, 0x5d
je 0x417a06
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4179d0
jmp 0x417a3c
mov al, byte [esi]
test al, al
je 0x417a3c
lea esp, [esp]
cmp al, 0x20
je 0x417a34
cmp al, 9
je 0x417a34
cmp al, 0x2c
je 0x417a34
cmp al, 0x3b
je 0x417a34
cmp al, 0x2f
je 0x417a34
cmp al, 0x28
je 0x417a34
cmp al, 0x29
je 0x417a34
cmp al, 0x5b
je 0x417a34
cmp al, 0x5d
jne 0x417a3c
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x417a10
cmp byte [esi], 0x2d
jne 0x417a6b
cmp esi, dword [ebp + 8]
jbe 0x417a5d
movsx ecx, byte [esi - 1]
push ecx
call fcn.0044528b
add esp, 4
test eax, eax
je 0x417a5d
cmp dword [ebp - 0xc], 0
jl 0x417a68
mov al, byte [esi + 1]
cmp al, 0x30
jl 0x417a68
cmp al, 0x39
jle 0x417a6b
inc esi
jmp 0x417a06
cmp byte [esi], 0
jne 0x416e71
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
test eax, eax
je case.default.0x417a97
cmp esi, 0xffffffff
jne case.default.0x417a97
add eax, 0xffffffec
cmp eax, 0xe
ja case.default.0x417a97
jmp dword [eax*4 + 0x417d4c]
mov esi, 0xfffffe20
jmp case.default.0x417a97
mov esi, 0xfffffe20
mov dword [ebp - 0x1c], 0x3c
jmp case.default.0x417a97
mov esi, 0xfffffe5c
jmp case.default.0x417a97
mov esi, 0xfffffe5c
mov dword [ebp - 0x1c], 0x3c
jmp case.default.0x417a97
mov esi, 0xfffffe98
jmp case.default.0x417a97
mov esi, 0xfffffe98
mov dword [ebp - 0x1c], 0x3c
jmp case.default.0x417a97
mov esi, 0xfffffed4
jmp case.default.0x417a97
mov esi, 0xfffffed4
mov dword [ebp - 0x1c], 0x3c
jmp case.default.0x417a97
mov esi, 0xffffff10
jmp case.default.0x417a97
mov esi, 0xffffff2e
jmp case.default.0x417a97
xor esi, esi
jmp case.default.0x417a97
xor esi, esi
mov dword [ebp - 0x1c], 0x3c
jmp case.default.0x417a97
mov esi, 0x3c
jmp case.default.0x417a97
mov esi, 0x78
jmp case.default.0x417a97
mov esi, 0x21c
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x416e67
mov edx, dword [ebp - 0x18]
cmp edx, 0xffffffff
je 0x416e67
mov edi, dword [ebp - 0xc]
cmp edi, 0xffffffff
je 0x416e67
cmp edi, 0x7fff
jg 0x416e67
xor eax, eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
cmp eax, 0xffffffff
je 0x417b7f
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
je 0x417b8a
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 0xffffffff
je 0x417b95
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x14]
add ecx, 0xfffffff8
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
mov word [ebp - 0x48], di
test eax, eax
je 0x417bae
dec al
mov byte [ebp - 0x46], al
lea eax, [ebp - 0x60]
call fcn.00416b30
cmp esi, 0xffffffff
jne 0x417c6e
mov ax, word [ebp - 0x48]
mov edx, 0x7b2
cmp ax, dx
jl 0x417c33
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x54]
movsx edx, ax
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x84]
sub edx, 0x76c
push eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x64], esi
call fcn.00446bcf
mov ecx, eax
and ecx, edx
add esp, 4
cmp ecx, esi
je 0x417c33
push 0
push 0xf4240
push edx
push eax
call fcn.004535a0
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0x84]
push eax
mov dword [ebp - 0x38], 0x15180
mov dword [ebp - 0x34], 0
call fcn.004454b7
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
lea ecx, [eax + eax*2 - 6]
lea eax, [edx + ecx*8]
mov edx, dword [ebp - 0x80]
mov ecx, eax
shl ecx, 4
add esp, 8
sub ecx, eax
lea esi, [edx + ecx*4]
mov eax, esi
shl eax, 4
sub eax, esi
add eax, eax
add eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
add ecx, ecx
lea eax, [ebp - 0x60]
mov dword [ebp - 0x3c], ecx
call fcn.00416860
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret