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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x110
mov edi, edx
mov dword [ebp - 0xcc], eax
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xd4], 0
cmp dword [0x621d88], 0
jne 0x459f06
call fcn.00458be1
or eax, 0xffffffff
cmp dword [ebp - 0xcc], 0
je 0x45c1ac
test edi, edi
jne 0x459f1f
mov edi, 0x5e7b90
cmp dword [ebp + 8], 0
je 0x459f2e
mov eax, dword [ebp + 8]
mov dword [eax], 0
cmp dword [ebp + 0x10], 0
sete dl
xor eax, eax
test edi, edi
setne al
test eax, edx
je 0x459f89
mov edx, dword [ebp - 0xcc]
mov ecx, dword [edx + 0x58]
cmp ecx, 1
setne dl
xor eax, eax
cmp ecx, 0x2d
setne al
test eax, edx
je 0x459f89
cmp ecx, 0x2e
je 0x459f89
cmp ecx, 2
jne 0x459f6d
push edi
call fcn.00459c5e
jmp 0x459f73
push edi
call fcn.00459cd8
mov dword [ebp - 0xd0], eax
pop eax
cmp dword [ebp - 0xd0], 0
je 0x459f89
mov edi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 0x58]
mov dword [ebp - 0x114], ecx
cmp ecx, 0x2e
ja case.default.0x459fa1
jmp dword [ecx*4 + 0x5e7c40]
cmp dword [ebp + 0x20], 0
setne dl
xor eax, eax
cmp dword [ebp + 8], 0
setne al
test eax, edx
je 0x45c179
mov eax, 0x2e
jmp 0x45b1b2
cmp dword [ebp + 0x18], 0
jne 0x45a049
mov ebx, edi
cmp esi, 2
jne 0x45a003
cmp byte [edi], 0
je 0x45a049
mov cl, byte [ebx]
cmp cl, 0xd
sete dl
cmp cl, 0xa
sete al
or eax, edx
test al, 1
jne 0x45c15c
cmp cl, 9
je 0x45c15c
inc ebx
cmp byte [ebx], 0
jmp 0x459fda
cmp esi, 3
jne 0x45a049
cmp byte [edi], 0
je 0x45a049
mov cl, byte [ebx]
cmp cl, 0xd
sete dl
cmp cl, 0xa
sete al
or eax, edx
test al, 1
jne 0x45c15c
cmp cl, 9
je 0x45c15c
cmp cl, 0x20
lea eax, [ebx + 1]
jne 0x45a042
mov ebx, eax
cmp byte [eax], 0x20
jne 0x45a044
jmp 0x45c15c
mov ebx, eax
cmp byte [eax], 0
jmp 0x45a00b
cmp dword [ebp + 0x20], 0
setne dl
xor eax, eax
cmp dword [ebp + 8], 0
setne al
test eax, edx
je 0x45c179
cmp dword [ebp + 0x1c], 0
je 0x45a095
cmp esi, 3
jne 0x45a074
push edi
call fcn.00459cd8
jmp 0x45a07f
cmp esi, 2
jne 0x45a086
push edi
call fcn.00459c5e
mov dword [ebp - 0xd0], eax
pop ebx
cmp dword [ebp - 0xd0], 0
je 0x45a095
mov edi, dword [ebp - 0xd0]
mov eax, 1
jmp 0x45b91b
cmp dword [ebp + 0x18], 0
je 0x45a0d6
cmp dword [ebp + 0x1c], 0
je 0x45a104
cmp esi, 3
jne 0x45a0b8
push edi
call fcn.00459cd8
jmp 0x45a0be
push edi
call fcn.00459c5e
mov dword [ebp - 0xd0], eax
pop ecx
cmp dword [ebp - 0xd0], 0
je 0x45a104
mov edi, dword [ebp - 0xd0]
jmp 0x45a104
cmp byte [edi], 0
mov ebx, edi
je 0x45a104
mov cl, byte [ebx]
cmp cl, 0xd
sete dl
cmp cl, 0xa
sete al
or eax, edx
test al, 1
jne 0x45c15c
cmp cl, 9
je 0x45c15c
inc ebx
cmp byte [ebx], 0
jmp 0x45a0db
mov eax, 2
cmp dword [ebp + 8], 0
jne 0x45b22c
jmp 0x45c179
lea eax, [ebp - 0x2c]
mov ecx, edi
mov dword [ebp - 0x84], eax
test edi, edi
je 0x45c15c
mov bl, byte [edi]
test bl, bl
je 0x45c15c
cmp dword [ebp + 0x18], 0
je 0x45a159
lea eax, [ebx - 9]
cmp bl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45a154
cmp bl, 0xd
jne 0x45a159
inc ecx
mov bl, byte [ecx]
jmp 0x45a13b
mov dword [ebp - 0xd8], 0
mov al, byte [ecx]
cmp al, 0x2d
jne 0x45a176
inc ecx
mov dword [ebp - 0xd8], 1
jmp 0x45a180
cmp al, 0x2b
sete al
movzx eax, al
add ecx, eax
mov al, byte [ecx]
test al, al
je 0x45c15c
xor esi, esi
or edi, 0xffffffff
xor ebx, ebx
cmp al, 0x30
jne 0x45a1a0
inc ecx
mov ebx, 1
cmp byte [ecx], 0x30
jmp 0x45a193
cmp byte [ecx], 0
je 0x45a1f2
mov dl, byte [ecx]
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x45a1dd
cmp dl, 0x2e
jne 0x45a1f2
inc ecx
mov edi, esi
mov dl, byte [ecx]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x45a1d4
mov eax, dword [ebp - 0x84]
inc esi
inc ecx
mov byte [eax], dl
inc dword [ebp - 0x84]
cmp esi, 0x17
jbe 0x45a1b6
or ebx, esi
jne 0x45a1f2
jmp 0x45c15c
mov eax, dword [ebp - 0x84]
inc esi
inc ecx
mov byte [eax], dl
inc dword [ebp - 0x84]
cmp esi, 0x17
jbe 0x45a1a5
cmp dword [ebp + 0x18], 0
je 0x45a216
mov bl, byte [ecx]
cmp bl, 0x20
lea eax, [ebx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45a213
cmp bl, 0xd
jne 0x45a216
inc ecx
jmp 0x45a1f8
cmp byte [ecx], 0
jne 0x45c15c
cmp dword [ebp + 8], 0
je 0x45c179
mov eax, 3
call fcn.00458a62
mov ebx, eax
test eax, eax
je 0x45c179
test esi, esi
je 0x45a290
cmp edi, 0xffffffff
je 0x45a262
cmp esi, edi
je 0x45a262
mov eax, dword [ebp - 0x84]
cmp byte [eax - 1], 0x30
jne 0x45a262
dec eax
dec esi
mov dword [ebp - 0x84], eax
cmp esi, edi
jne 0x45a250
test esi, esi
je 0x45a290
mov eax, dword [ebp - 0x84]
lea edx, [ebx + 8]
mov byte [eax], 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x84], eax
lea eax, [ebx + 0x10]
push eax
lea eax, [ebx + 0xc]
push eax
lea eax, [ebp - 0x84]
call fcn.00459e15
pop eax
pop edx
mov al, byte [ebx + 0x18]
and eax, 0xfffffffe
or eax, dword [ebp - 0xd8]
test esi, esi
mov byte [ebx + 0x18], al
jne 0x45a2ac
mov byte [ebx + 0x19], 1
jmp 0x45af53
mov ecx, esi
cmp edi, 0xffffffff
mov byte [ebx + 0x19], cl
jne 0x45a2bb
and eax, 1
jmp 0x45a2c5
sub esi, edi
and eax, 1
lea edx, [esi + esi]
or eax, edx
mov byte [ebx + 0x18], al
jmp 0x45af53
or eax, 0xffffffff
mov dword [ebp - 0x88], edi
test edi, edi
je 0x45b26a
cmp dword [ebp + 0x18], 0
je 0x45a313
mov cl, byte [edi]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45a2ff
cmp cl, 0xd
jne 0x45a313
mov edx, dword [ebp - 0x88]
lea eax, [edx + 1]
mov dword [ebp - 0x88], eax
mov cl, byte [edx + 1]
jmp 0x45a2e6
mov eax, dword [ebp - 0x88]
mov cl, byte [eax]
cmp cl, 0x2d
setne dl
xor eax, eax
cmp cl, 0x2f
setbe al
test eax, edx
je 0x45a33b
mov eax, 1
cmp cl, 0x39
ja 0x45b26a
xor eax, eax
call fcn.00458a62
mov esi, eax
or eax, 0xffffffff
test esi, esi
je 0x45b26a
mov edx, dword [ebp - 0x88]
cmp byte [edx], 0x2d
jne 0x45a56a
cmp byte [edx + 1], 0x2d
jne 0x45a56a
lea eax, [edx + 2]
mov dword [ebp - 0x88], eax
cmp byte [edx + 2], 0x2d
jne 0x45a3fe
cmp dword [ebp - 0x114], 6
je 0x45aa03
lea eax, [edx + 3]
lea edx, [ebp - 0x88]
mov dword [ebp - 0x88], eax
lea eax, [esi + 8]
call fcn.00459785
test eax, eax
jne 0x45aa03
mov eax, dword [ebp - 0x88]
mov cl, byte [eax]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x45a3ce
cmp cl, 0x2b
je 0x45a3ce
cmp cl, 0x2d
jne 0x45aa03
lea eax, [esi + 8]
lea edx, [ebp - 0x88]
call fcn.004599d4
test eax, eax
jne 0x45aa03
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0
jne 0x45aa03
mov dword [esi], 5
jmp 0x45a9d3
lea ebx, [esi + 8]
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.0045970a
test eax, eax
jne 0x45aa03
mov edi, dword [ebp - 0x88]
cmp byte [edi], 0x2d
jne 0x45a513
lea eax, [edi + 1]
lea edx, [ebp - 0x88]
mov dword [ebp - 0x88], eax
mov eax, ebx
call fcn.00459785
test eax, eax
jne 0x45a50d
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x11c], eax
cmp byte [eax], 0x3a
je 0x45a50d
mov ecx, dword [esi + 8]
test cl, 3
jne 0x45a470
mov edx, 0x64
mov eax, ecx
mov ebx, edx
cdq
idiv ebx
test edx, edx
jne 0x45a480
mov edx, 0x190
mov eax, ecx
mov ebx, edx
cdq
idiv ebx
test edx, edx
jne 0x45a49b
movzx eax, byte [esi + 0xc]
mov dx, word [esi + 0xc]
and eax, 0xf
shr dx, 4
and edx, 0x1f
cmp edx, dword [eax*4 + 0x5e779c]
jmp 0x45a4b4
movzx eax, byte [esi + 0xc]
mov dx, word [esi + 0xc]
and eax, 0xf
shr dx, 4
and edx, 0x1f
cmp edx, dword [eax*4 + 0x5e775c]
ja 0x45a50d
mov edi, dword [ebp - 0x11c]
mov cl, byte [edi]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x45a4dd
cmp cl, 0x2b
je 0x45a4dd
cmp cl, 0x2d
jne 0x45aa03
lea eax, [esi + 8]
lea edx, [ebp - 0x88]
call fcn.004599d4
test eax, eax
jne 0x45aa03
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0
jne 0x45aa03
mov dword [esi], 7
jmp 0x45a9d3
mov dword [ebp - 0x88], edi
mov eax, dword [ebp - 0x88]
mov cl, byte [eax]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x45a53a
cmp cl, 0x2b
je 0x45a53a
cmp cl, 0x2d
jne 0x45aa03
lea eax, [esi + 8]
lea edx, [ebp - 0x88]
call fcn.004599d4
test eax, eax
jne 0x45aa03
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0
jne 0x45aa03
mov dword [esi], 6
jmp 0x45a9d3
mov al, byte [edx]
sub eax, 0x30
cmp al, 9
ja 0x45a5d4
lea eax, [esi + 8]
lea edx, [ebp - 0x88]
call fcn.00459806
test eax, eax
jne 0x45a5d4
mov eax, dword [ebp - 0x88]
mov cl, byte [eax]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x45a5a8
cmp cl, 0x2b
je 0x45a5a8
cmp cl, 0x2d
jne 0x45a5d4
lea eax, [esi + 8]
lea edx, [ebp - 0x88]
call fcn.004599d4
test eax, eax
jne 0x45a5d4
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0
jne 0x45aa03
mov dword [esi], 4
jmp 0x45a9d3
lea eax, [esi + 8]
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xe4], 0
mov ebx, edi
mov cl, byte [edi]
lea eax, [ecx - 0x30]
cmp al, 9
seta dl
xor eax, eax
cmp cl, 0x2d
setne al
test eax, edx
je 0x45a61b
or eax, 0xffffffff
cmp cl, 0x2b
jne 0x45a6a1
cmp byte [edi], 0x2d
jne 0x45a62d
mov dword [ebp - 0xe0], 1
lea ebx, [edi + 1]
mov dl, byte [ebx]
mov ecx, ebx
lea eax, [edx - 0x30]
cmp al, 9
ja 0x45a671
mov edi, dword [ebp - 0xdc]
inc dword [ebp - 0xe4]
imul eax, dword [edi], 0xa
movzx edx, dl
inc ebx
lea eax, [eax + edx - 0x30]
mov dword [edi], eax
mov dl, byte [ebx]
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x45a638
cmp dword [ebp - 0xe4], 3
jle 0x45a671
cmp dword [ebp - 0xe4], 4
jle 0x45a678
cmp byte [ecx], 0x30
jne 0x45a678
mov eax, 1
jmp 0x45a6a1
cmp dword [ebp - 0xe0], 0
je 0x45a689
mov eax, dword [ebp - 0xdc]
neg dword [eax]
mov edx, dword [ebp - 0xdc]
mov eax, 2
cmp dword [edx], 0
je 0x45a6a1
mov dword [ebp - 0x88], ebx
xor al, al
test eax, eax
jne 0x45aa03
mov eax, dword [ebp - 0x88]
mov cl, byte [eax]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x45a6cc
cmp cl, 0x2b
je 0x45a6cc
cmp cl, 0x2d
jne 0x45a6f8
lea eax, [esi + 8]
lea edx, [ebp - 0x88]
call fcn.004599d4
test eax, eax
jne 0x45a6f8
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0
jne 0x45aa03
mov dword [esi], 8
jmp 0x45a9d3
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0x2d
jne 0x45aa03
inc eax
lea edx, [ebp - 0x88]
mov dword [ebp - 0x88], eax
lea eax, [esi + 8]
call fcn.0045970a
test eax, eax
jne 0x45aa03
mov eax, dword [ebp - 0x88]
mov cl, byte [eax]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x45a747
cmp cl, 0x2b
je 0x45a747
cmp cl, 0x2d
jne 0x45a773
lea eax, [esi + 8]
lea edx, [ebp - 0x88]
call fcn.004599d4
test eax, eax
jne 0x45a773
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0
jne 0x45aa03
mov dword [esi], 9
jmp 0x45a9d3
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0x2d
jne 0x45aa03
inc eax
lea edx, [ebp - 0x88]
mov dword [ebp - 0x88], eax
lea eax, [esi + 8]
call fcn.00459785
test eax, eax
jne 0x45aa03
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x45aa03
movzx edi, byte [esi + 0xc]
mov ebx, edi
and ebx, 0xf
mov eax, ebx
mov dword [ebp - 0x11c], ebx
dec eax
cmp eax, 0xb
ja 0x45aa03
test cl, 3
jne 0x45a7da
mov edx, 0x64
mov eax, ecx
mov ebx, edx
cdq
idiv ebx
test edx, edx
jne 0x45a7ea
mov edx, 0x190
mov eax, ecx
mov ebx, edx
cdq
idiv ebx
test edx, edx
jne 0x45a803
mov ax, word [esi + 0xc]
mov edx, edi
shr ax, 4
and edx, 0xf
and eax, 0x1f
cmp eax, dword [edx*4 + 0x5e779c]
jmp 0x45a81b
mov ax, word [esi + 0xc]
mov edi, dword [ebp - 0x11c]
shr ax, 4
and eax, 0x1f
cmp eax, dword [edi*4 + 0x5e775c]
ja 0x45aa03
mov eax, dword [ebp - 0x88]
mov cl, byte [eax]
test cl, cl
sete dl
cmp cl, 0x5a
sete al
or eax, edx
test al, 1
jne 0x45a844
cmp cl, 0x2b
je 0x45a844
cmp cl, 0x2d
jne 0x45a870
lea eax, [esi + 8]
lea edx, [ebp - 0x88]
call fcn.004599d4
test eax, eax
jne 0x45a870
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0
jne 0x45aa03
mov dword [esi], 0xa
jmp 0x45a9d3
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0x54
jne 0x45aa03
inc eax
lea ebx, [esi + 8]
mov dword [ebp - 0x88], eax
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.00459806
test eax, eax
jne 0x45aa03
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.004599d4
cmp dword [ebp + 0x18], 0
mov ecx, eax
je 0x45a8e8
mov eax, dword [ebp - 0x88]
mov bl, byte [eax]
lea eax, [ebx - 9]
cmp bl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45a8d4
cmp bl, 0xd
jne 0x45a8e8
mov edx, dword [ebp - 0x88]
lea eax, [edx + 1]
mov dword [ebp - 0x88], eax
mov bl, byte [edx + 1]
jmp 0x45a8bb
test ecx, ecx
jne 0x45aa03
mov eax, dword [ebp - 0x88]
cmp byte [eax], 0
jne 0x45aa03
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x45aa03
movzx edi, byte [esi + 0xc]
mov eax, edi
and eax, 0xf
mov dword [ebp - 0x11c], eax
dec eax
cmp eax, 0xb
ja 0x45aa03
test cl, 3
jne 0x45a938
mov edx, 0x64
mov eax, ecx
mov ebx, edx
cdq
idiv ebx
test edx, edx
jne 0x45a948
mov edx, 0x190
mov eax, ecx
mov ebx, edx
cdq
idiv ebx
test edx, edx
jne 0x45a961
mov ax, word [esi + 0xc]
mov edx, edi
shr ax, 4
and edx, 0xf
and eax, 0x1f
cmp eax, dword [edx*4 + 0x5e779c]
jmp 0x45a979
mov ax, word [esi + 0xc]
mov edi, dword [ebp - 0x11c]
shr ax, 4
and eax, 0x1f
cmp eax, dword [edi*4 + 0x5e775c]
ja 0x45aa03
mov al, byte [esi + 0xd]
shr al, 1
and eax, 0x1f
cmp eax, 0x17
ja 0x45aa03
mov eax, dword [esi + 0xc]
shr eax, 0xe
and eax, 0x3f
cmp eax, 0x3b
ja 0x45aa03
fld qword [esi + 0x10]
fcom qword [0x5e7c38]
fnstsw ax
sahf
jb 0x45aa01
fld dword [0x5e7c28]
fcompp
fnstsw ax
sahf
jbe 0x45aa03
mov ax, word [esi + 0x18]
shl eax, 3
sar ax, 4
cwde
add eax, 0x347
cmp eax, 0x68e
ja 0x45aa03
mov dword [esi], 0xb
cmp dword [ebp - 0x114], 0
je 0x45a9e6
mov edx, dword [ebp - 0x114]
cmp edx, dword [esi]
jne 0x45aa03
cmp dword [ebp + 8], 0
je 0x45a9f3
mov ecx, dword [ebp + 8]
mov dword [ecx], esi
jmp 0x45a9fa
push esi
call fcn.00459623
pop eax
xor eax, eax
jmp 0x45b26a
fstp st(0)
test esi, esi
je 0x45aa0e
push esi
call fcn.00459623
pop eax
mov eax, 1
jmp 0x45b26a
lea eax, [ebp - 0x7c]
push 0x38
push 0x58b670
push eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], 0
mov byte [ebp - 0x3c], 0x59
mov byte [ebp - 0x3b], 0x4d
mov byte [ebp - 0x3a], 0x44
mov byte [ebp - 0x39], 0x48
mov byte [ebp - 0x38], 0x4d
mov byte [ebp - 0x37], 0x53
mov ebx, edi
call fcn.0052ef10
add esp, 0xc
or edx, 0xffffffff
test edi, edi
je 0x45ad0c
cmp dword [ebp + 0x18], 0
je 0x45aa94
mov cl, byte [edi]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45aa8f
cmp cl, 0xd
jne 0x45aa94
inc ebx
mov cl, byte [ebx]
jmp 0x45aa76
cmp byte [ebx], 0x2d
jne 0x45aaa4
mov dword [ebp - 0xe8], 1
inc ebx
mov al, byte [ebx]
mov edx, 1
inc ebx
cmp al, 0x50
jne 0x45ad0c
cmp byte [ebx], 0
je 0x45ad0c
mov eax, 0xc
call fcn.00458a62
or edx, 0xffffffff
mov esi, eax
test eax, eax
je 0x45ad0c
cmp byte [ebx], 0
je 0x45accf
cmp dword [ebp - 0xec], 5
ja 0x45acfc
cmp byte [ebx], 0x54
jne 0x45ab09
cmp dword [ebp - 0xec], 3
ja 0x45ad07
inc ebx
mov dword [ebp - 0xec], 3
jmp 0x45ab16
cmp dword [ebp - 0xec], 3
je 0x45acfc
mov al, byte [ebx]
sub eax, 0x30
fldz
cmp al, 9
ja 0x45acfa
fld dword [0x5e7c2c]
movzx eax, byte [ebx]
inc ebx
sub eax, 0x30
push eax
fmul st(1), st(0)
mov dl, byte [ebx]
fild dword [esp]
lea eax, [edx - 0x30]
add esp, 4
faddp st(2)
cmp al, 9
jbe 0x45ab2b
fstp st(0)
cmp dword [ebp - 0xf0], 0
jne 0x45ab9b
cmp dl, 0x2e
jne 0x45aba8
inc ebx
fld1
mov al, byte [ebx]
mov cl, al
lea edx, [eax - 0x30]
cmp dl, 0xa
sbb edi, edi
and edi, 2
dec edi
cmp dl, 9
mov dword [ebp - 0xf0], edi
ja 0x45ab99
fld qword [0x5e7c30]
movzx eax, cl
sub eax, 0x30
fmul st(1), st(0)
push eax
inc ebx
fild dword [esp]
fmul st(2)
mov cl, byte [ebx]
add esp, 4
lea eax, [ecx - 0x30]
faddp st(3)
cmp al, 9
jbe 0x45ab7a
fstp st(0)
fstp st(0)
cmp dword [ebp - 0xf0], 0xffffffff
je 0x45acfa
mov al, byte [ebx]
test al, al
je 0x45acfa
cmp dword [ebp - 0xec], 5
ja 0x45aca0
mov edx, dword [ebp - 0xec]
cmp al, byte [edx + ebp - 0x3c]
jne 0x45ac85
cmp dword [ebp - 0xf0], 0
setne dl
xor eax, eax
cmp dword [ebp - 0xec], 4
setbe al
test eax, edx
jne 0x45acfa
cmp dword [ebp - 0xec], 0
je 0x45ac01
cmp dword [ebp - 0xec], 1
je 0x45ac38
jmp 0x45ac6c
fnstcw word [ebp - 0xc2]
mov ax, word [ebp - 0xc2]
or ah, 0xc
mov word [ebp - 0xc4], ax
fldcw word [ebp - 0xc4]
fistp dword [ebp - 0xc8]
fldcw word [ebp - 0xc2]
mov eax, dword [ebp - 0xc8]
imul eax, eax, 0xc
mov dword [esi + 8], eax
jmp 0x45aca2
fnstcw word [ebp - 0xc2]
mov ax, word [ebp - 0xc2]
or ah, 0xc
mov word [ebp - 0xc4], ax
fldcw word [ebp - 0xc4]
fistp dword [ebp - 0xc8]
fldcw word [ebp - 0xc2]
mov eax, dword [ebp - 0xc8]
add dword [esi + 8], eax
jmp 0x45aca2
mov ecx, dword [ebp - 0xec]
fmul qword [ebp + ecx*8 - 0x7c]
inc ecx
fadd qword [esi + 0x10]
fstp qword [esi + 0x10]
mov dword [ebp - 0xec], ecx
jmp 0x45aca2
inc dword [ebp - 0xec]
cmp dword [ebp - 0xec], 3
je 0x45acfa
cmp dword [ebp - 0xec], 6
jmp 0x45abac
fstp st(0)
inc ebx
cmp dword [ebp + 0x18], 0
je 0x45aad4
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 0x45accc
cmp cl, 0xd
jne 0x45aad4
inc ebx
jmp 0x45acad
cmp dword [ebp - 0xe8], 0
je 0x45ace2
neg dword [esi + 8]
neg dword [esi + 0xc]
xor byte [esi + 0x17], 0x80
cmp dword [ebp + 8], 0
je 0x45acef
mov ebx, dword [ebp + 8]
mov dword [ebx], esi
jmp 0x45acf6
push esi
call fcn.00459623
pop eax
xor edx, edx
jmp 0x45ad0c
fstp st(0)
test esi, esi
je 0x45ad07
push esi
call fcn.00459623
pop edi
mov edx, 1
mov dword [ebp - 0xd4], edx
jmp case.default.0x459fa1
xor esi, esi
mov ecx, edi
cmp dword [ebp + 0x18], 0
je 0x45ad41
mov bl, byte [edi]
lea eax, [ebx - 9]
cmp bl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45ad3c
cmp bl, 0xd
jne 0x45ad41
inc ecx
mov bl, byte [ecx]
jmp 0x45ad23
mov al, byte [ecx]
cmp al, 0x4e
jne 0x45adb9
cmp byte [ecx + 1], 0x61
jne 0x45adc3
cmp byte [ecx + 2], 0x4e
jne 0x45adc3
cmp byte [ecx + 3], 0
jne 0x45c15c
cmp dword [ebp + 8], 0
je 0x45c179
mov edi, dword [ebp - 0xcc]
cmp edi, dword [0x621d78]
jne 0x45ad97
mov eax, 0xd
call fcn.00458a62
mov ebx, eax
test eax, eax
je 0x45ae57
fld qword [0x621b68]
fstp dword [eax + 8]
jmp 0x45ba4f
mov eax, 0xe
call fcn.00458a62
mov ebx, eax
test eax, eax
je 0x45ae57
fld qword [0x621b68]
fstp qword [eax + 8]
jmp 0x45ba4f
cmp al, 0x2d
jne 0x45adc3
mov esi, 1
inc ecx
mov al, byte [ecx]
cmp al, 0x49
jne 0x45ae63
cmp byte [ecx + 1], 0x4e
jne 0x45ae63
cmp byte [ecx + 2], 0x46
jne 0x45ae63
cmp byte [ecx + 3], 0
jne 0x45c15c
cmp dword [ebp + 8], 0
je 0x45c179
mov edx, dword [ebp - 0xcc]
cmp edx, dword [0x621d78]
jne 0x45ae2d
mov eax, 0xd
call fcn.00458a62
mov ebx, eax
test eax, eax
je 0x45ae57
test esi, esi
je 0x45ae1f
fld qword [0x58b340]
jmp 0x45ae25
fld qword [0x58b348]
fstp dword [ebx + 8]
jmp 0x45bf9e
mov eax, 0xe
call fcn.00458a62
mov ebx, eax
test eax, eax
je 0x45ae57
test esi, esi
je 0x45ae49
fld qword [0x58b340]
jmp 0x45ae4f
fld qword [0x58b348]
fstp qword [ebx + 8]
jmp 0x45bf9e
push 0
call fcn.00459623
jmp 0x45b8d2
test esi, esi
jne 0x45ae71
cmp al, 0x2b
sete al
movzx eax, al
add ecx, eax
mov bl, byte [ecx]
test bl, bl
sete dl
cmp bl, 0x2b
sete al
or eax, edx
test al, 1
jne 0x45c15c
cmp bl, 0x2d
je 0x45c15c
lea eax, [ebx - 0x30]
cmp al, 9
ja 0x45aea0
inc ecx
mov al, byte [ecx]
sub eax, 0x30
jmp 0x45ae94
cmp byte [ecx], 0x2e
jne 0x45aeaf
inc ecx
mov al, byte [ecx]
sub eax, 0x30
cmp al, 9
jbe 0x45aea5
mov al, byte [ecx]
cmp al, 0x65
sete dl
cmp al, 0x45
sete al
or eax, edx
test al, 1
je 0x45aee5
inc ecx
mov al, byte [ecx]
cmp al, 0x2d
sete dl
cmp al, 0x2b
sete al
or eax, edx
and eax, 1
cmp eax, 1
sbb ecx, 0xffffffff
mov al, byte [ecx]
sub eax, 0x30
cmp al, 9
ja 0x45aee5
inc ecx
jmp 0x45aed9
cmp dword [ebp + 0x18], 0
je 0x45af09
mov bl, byte [ecx]
cmp bl, 0x20
lea eax, [ebx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45af06
cmp bl, 0xd
jne 0x45af09
inc ecx
jmp 0x45aeeb
cmp byte [ecx], 0
jne 0x45c15c
cmp dword [ebp + 8], 0
je 0x45c179
mov ebx, dword [ebp - 0xcc]
cmp ebx, dword [0x621d78]
jne 0x45af5d
mov eax, 0xd
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
lea eax, [eax + 8]
push eax
push 0x5e7b91
push edi
call sub.msvcrt.dll_sscanf
add esp, 0xc
dec eax
jne 0x45af8a
mov edi, dword [ebp + 8]
mov dword [edi], ebx
jmp 0x45c179
mov eax, 0xe
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
lea eax, [eax + 8]
push eax
push 0x5e7b94
push edi
call sub.msvcrt.dll_sscanf
add esp, 0xc
dec eax
je 0x45ba4f
push ebx
call fcn.00459623
jmp 0x45bbb4
mov ecx, edi
mov bl, byte [edi]
cmp dword [ebp + 0x18], 0
je 0x45b081
lea eax, [ebx - 9]
cmp bl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45afbc
cmp bl, 0xd
jne 0x45afc1
inc ecx
mov bl, byte [ecx]
jmp 0x45afa3
mov al, byte [ecx]
cmp al, 0x30
jne 0x45afd3
mov dword [ebp - 0xd4], 0
jmp 0x45afe1
cmp al, 0x31
jne 0x45afe4
mov dword [ebp - 0xd4], 1
inc ecx
jmp 0x45b054
cmp al, 0x74
jne 0x45b015
inc ecx
mov al, byte [ecx]
inc ecx
cmp al, 0x72
jne 0x45c15c
mov al, byte [ecx]
inc ecx
cmp al, 0x75
jne 0x45c15c
mov al, byte [ecx]
inc ecx
mov dword [ebp - 0xd4], 1
cmp al, 0x65
je 0x45b054
jmp 0x45c15c
cmp al, 0x66
jne 0x45c15c
inc ecx
mov al, byte [ecx]
inc ecx
cmp al, 0x61
jne 0x45c15c
mov al, byte [ecx]
inc ecx
cmp al, 0x6c
jne 0x45c15c
mov al, byte [ecx]
inc ecx
cmp al, 0x73
jne 0x45c15c
mov al, byte [ecx]
inc ecx
cmp al, 0x65
jne 0x45c15c
mov dword [ebp - 0xd4], 0
mov bl, byte [ecx]
test bl, bl
je 0x45b124
lea eax, [ebx - 9]
cmp bl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45b077
cmp bl, 0xd
jne 0x45b07c
inc ecx
mov bl, byte [ecx]
jmp 0x45b05e
cmp byte [ecx], 0
jmp 0x45b0d8
cmp bl, 0x30
jne 0x45b092
mov dword [ebp - 0xd4], 0
jmp 0x45b0a1
cmp bl, 0x31
jne 0x45b0a7
mov dword [ebp - 0xd4], 1
cmp byte [edi + 1], 0
jmp 0x45b0d8
cmp bl, 0x74
jne 0x45b0df
cmp byte [edi + 1], 0x72
jne 0x45c15c
cmp byte [edi + 2], 0x75
jne 0x45c15c
cmp byte [edi + 3], 0x65
jne 0x45c15c
mov dword [ebp - 0xd4], 1
cmp byte [edi + 4], 0
je 0x45b124
jmp 0x45c15c
cmp bl, 0x66
jne 0x45c15c
cmp byte [edi + 1], 0x61
jne 0x45c15c
cmp byte [edi + 2], 0x6c
jne 0x45c15c
cmp byte [edi + 3], 0x73
jne 0x45c15c
cmp byte [edi + 4], 0x65
jne 0x45c15c
cmp byte [edi + 5], 0
jne 0x45c15c
mov dword [ebp - 0xd4], 0
cmp dword [ebp + 8], 0
je 0x45c179
mov eax, 0xf
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
mov edx, dword [ebp - 0xd4]
mov dword [eax + 8], edx
jmp 0x45bf9e
mov ebx, edi
cmp dword [ebp + 0x18], 0
jne 0x45b1a3
cmp byte [edi], 0
je 0x45b1a3
mov cl, byte [ebx]
cmp cl, 0xd
sete dl
cmp cl, 0xa
sete al
or eax, edx
test al, 1
jne 0x45c15c
cmp cl, 9
je 0x45c15c
cmp cl, 0x20
lea eax, [ebx + 1]
jne 0x45b19c
mov dl, byte [eax]
mov ebx, eax
test dl, dl
je 0x45c15c
cmp dl, 0x20
jne 0x45b19e
jmp 0x45c15c
mov ebx, eax
cmp byte [eax], 0
jmp 0x45b15b
cmp dword [ebp + 8], 0
je 0x45c179
mov eax, 0x10
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
push edi
call fcn.00433dc4
mov edi, dword [ebp + 8]
mov dword [ebx + 8], eax
mov dword [edi], ebx
jmp 0x45b938
cmp dword [ebp + 0x18], 0
je 0x45b1ed
push edi
call fcn.00459cd8
pop esi
test eax, eax
mov dword [ebp - 0xd0], eax
je 0x45b1ed
mov edi, eax
push edi
call fcn.00413795
pop ebx
cmp eax, 1
jne 0x45c15c
mov al, 0x11
cmp dword [ebp + 8], 0
jne 0x45b91b
jmp 0x45c179
push 1
push edi
call fcn.00407a7d
pop edx
test eax, eax
pop ecx
jne 0x45c15c
cmp dword [ebp + 8], 0
je 0x45c179
mov al, 0x12
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
push edi
call fcn.00433dc4
mov edx, dword [ebp + 8]
mov dword [ebx + 8], eax
mov dword [edx], ebx
jmp 0x45b938
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, edi
mov eax, dword [0x621d68]
call fcn.0045c1d4
pop ebx
test eax, eax
pop esi
setle al
movzx eax, al
mov dword [ebp - 0xd4], eax
jmp case.default.0x459fa1
push 1
push edi
call fcn.0040773d
pop edx
test eax, eax
pop ecx
sete dl
mov dword [ebp - 0xd4], eax
xor eax, eax
cmp dword [ebp + 8], 0
setne al
test eax, edx
je case.default.0x459fa1
test edi, edi
je case.default.0x459fa1
mov eax, 0x14
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
mov esi, edi
mov cl, byte [esi]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45b2d4
cmp cl, 0xd
jne 0x45b2d7
inc esi
jmp 0x45b2b9
mov edi, esi
mov cl, byte [esi]
jmp 0x45b2e5
cmp cl, 0xd
je 0x45b2fe
inc edi
mov cl, byte [edi]
test cl, cl
je 0x45b2fe
lea eax, [ecx - 9]
cmp cl, 0x20
setne dl
cmp al, 1
seta al
movzx eax, al
test eax, edx
jne 0x45b2dd
sub edi, esi
push edi
push esi
call fcn.00433d70
mov ecx, dword [ebp + 8]
mov dword [ebx + 8], eax
mov dword [ecx], ebx
pop ebx
pop esi
jmp case.default.0x459fa1
push 1
mov dword [ebp - 0xf4], 0
push edi
call fcn.004071f8
xor esi, esi
pop edx
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne case.default.0x459fa1
cmp dword [ebp + 0xc], 0
je 0x45b3a5
lea eax, [ebp - 0x8c]
push eax
push edi
call fcn.00406e01
mov ebx, dword [ebp + 0xc]
push dword [ebp - 0x8c]
push dword [ebp + 0xc]
push dword [ebx + 0x20]
mov esi, eax
call fcn.00409b74
add esp, 0x14
test eax, eax
jne 0x45b38a
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x45b393
push eax
call dword [0x58b640]
pop eax
test esi, esi
je 0x45c15c
push esi
jmp 0x45bbae
mov eax, dword [eax + 8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x45b3a5
push eax
call dword [0x58b640]
pop eax
cmp dword [ebp + 8], 0
je 0x45b3fd
mov eax, 0x15
call fcn.00458a62
mov ebx, eax
test eax, eax
jne 0x45b3c9
test esi, esi
je case.0x459fa1.0
push esi
jmp 0x45b8cc
test esi, esi
je 0x45b3d2
mov dword [eax + 8], esi
jmp 0x45b3dc
push edi
call fcn.00433dc4
mov dword [ebx + 8], eax
pop eax
cmp dword [ebp - 0xf4], 0
je 0x45b8a3
push dword [ebp - 0xf4]
call fcn.00433dc4
mov dword [ebx + 0xc], eax
pop edi
jmp 0x45b8a3
test esi, esi
je case.default.0x459fa1
push esi
call dword [0x58b640]
jmp 0x45b456
push 1
push edi
call fcn.00406ee2
pop ebx
test eax, eax
pop esi
sete dl
mov dword [ebp - 0xd4], eax
xor eax, eax
cmp dword [ebp + 8], 0
setne al
test eax, edx
je case.default.0x459fa1
mov eax, 0x16
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
push edi
call fcn.00433dc4
mov dword [ebx + 8], eax
mov eax, dword [ebp + 8]
mov dword [eax], ebx
pop ecx
jmp case.default.0x459fa1
push 1
push edi
call fcn.00406ee2
pop esi
test eax, eax
pop edx
mov dword [ebp - 0xd4], eax
sete al
movzx esi, al
cmp dword [ebp + 8], 0
setne al
test esi, eax
je 0x45b4a2
mov eax, 0x17
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
push edi
call fcn.00433dc4
mov edx, dword [ebp + 8]
mov dword [ebx + 8], eax
mov dword [edx], ebx
pop ebx
cmp dword [ebp + 0xc], 0
setne al
test esi, eax
je case.default.0x459fa1
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 2
jne case.default.0x459fa1
cmp dword [ecx + 0x28], 2
je case.default.0x459fa1
mov eax, edi
call fcn.00459bd2
mov ebx, eax
test eax, eax
je 0x45b4f4
push dword [ebp + 0xc]
mov edi, dword [ebp + 0xc]
push eax
push dword [edi + 0x20]
push 0
call fcn.00425704
push ebx
mov esi, eax
call dword [0x58b640]
add esp, 0x14
jmp 0x45b50a
push dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
push edi
push dword [eax + 0x20]
push 0
call fcn.00425704
add esp, 0x10
mov esi, eax
test esi, esi
jne 0x45b51d
mov dword [ebp - 0xd4], 2
jmp case.default.0x459fa1
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x28], 2
jmp case.default.0x459fa1
push 1
push edi
call fcn.00406ee2
pop edx
test eax, eax
pop ecx
mov dword [ebp - 0xd4], eax
sete al
movzx esi, al
cmp dword [ebp + 8], 0
setne al
test esi, eax
je 0x45b572
mov eax, 0x18
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
push edi
call fcn.00433dc4
mov ecx, dword [ebp + 8]
mov dword [ebx + 8], eax
mov dword [ecx], ebx
pop eax
cmp dword [ebp + 0xc], 0
setne al
test esi, eax
je case.default.0x459fa1
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + 4], 2
jne case.default.0x459fa1
mov eax, edi
call fcn.00459bd2
mov ebx, eax
test eax, eax
je 0x45b5b8
push dword [ebp + 0xc]
mov edi, dword [ebp + 0xc]
push eax
push dword [edi + 0x20]
push 0
call fcn.00425beb
push ebx
call dword [0x58b640]
add esp, 0x14
jmp 0x45b5cc
push dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
push edi
push dword [eax + 0x20]
push 0
call fcn.00425beb
add esp, 0x10
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x28], 3
jmp case.default.0x459fa1
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, edi
mov eax, dword [0x621d58]
call fcn.0045c1d4
pop esi
sar eax, 0x1f
pop edi
and eax, 2
sete dl
mov dword [ebp - 0xd4], eax
xor eax, eax
cmp dword [ebp + 0xc], 0
setne al
test eax, edx
je case.default.0x459fa1
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 2
jne case.default.0x459fa1
mov dword [ecx + 0x28], 4
jmp case.default.0x459fa1
push 1
push edi
call fcn.00406ee2
pop ecx
cmp dword [ebp + 0xc], 0
mov dword [ebp - 0xd4], eax
pop ebx
je 0x45b647
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + 0x20], 0
jne 0x45b653
mov dword [ebp - 0xd4], 3
jmp 0x45b6a7
cmp dword [ebp - 0xd4], 0
jne 0x45b6a7
mov eax, edi
call fcn.00459bd2
mov ebx, eax
test eax, eax
je 0x45b683
mov edi, dword [ebp + 0xc]
push eax
push dword [edi + 0x20]
call fcn.0040f607
push ebx
mov esi, eax
call dword [0x58b640]
add esp, 0xc
jmp 0x45b693
mov eax, dword [ebp + 0xc]
push edi
push dword [eax + 0x20]
call fcn.0040f607
mov esi, eax
pop eax
pop edx
test esi, esi
je 0x45b69d
cmp dword [esi + 0x30], 3
je 0x45b6a7
mov dword [ebp - 0xd4], 4
xor ebx, ebx
cmp dword [ebp - 0xd4], 0
sete bl
cmp dword [ebp + 8], 0
setne al
test ebx, eax
je 0x45b6dc
push 0xb01
push str.C:_Programme_blitzmax_mod_bah.mod_libxml.mod_src_xmlschemastypes.c
push 0x5e7bdb
push dword [0x621be4]
call dword [0x58b618]
add esp, 0x10
cmp dword [ebp + 0xc], 0
setne al
test ebx, eax
je case.default.0x459fa1
mov edx, dword [ebp + 0xc]
cmp dword [edx + 4], 2
jne case.default.0x459fa1
mov dword [edx + 0x28], 5
jmp case.default.0x459fa1
cmp dword [ebp + 0xc], 0
je 0x45c13f
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x20], 0
je 0x45c13f
push ecx
mov edx, edi
push dword [ebp + 8]
mov eax, dword [0x621d48]
call fcn.0045c1d4
pop esi
test eax, eax
pop edi
setle al
movzx eax, al
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x459fa1
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + 4], 2
jne case.default.0x459fa1
mov dword [ebx + 0x28], 6
jmp case.default.0x459fa1
push 1
mov dword [ebp - 0xf8], 0
push edi
call fcn.004071f8
xor esi, esi
test eax, eax
mov dword [ebp - 0xd4], eax
pop ecx
sete dl
xor eax, eax
pop ebx
cmp dword [ebp + 0xc], 0
setne al
test eax, edx
je 0x45b815
lea eax, [ebp - 0x90]
push eax
push edi
call fcn.00406e01
mov esi, eax
pop eax
mov eax, dword [ebp - 0x90]
pop edx
test eax, eax
je 0x45b7e0
push eax
mov eax, dword [ebp + 0xc]
push dword [ebp + 0xc]
push dword [eax + 0x20]
call fcn.00409b74
add esp, 0xc
test eax, eax
jne 0x45b7cb
mov dword [ebp - 0xd4], 1
jmp 0x45b7e0
cmp dword [ebp + 8], 0
je 0x45b7e0
push dword [eax + 8]
call fcn.00433dc4
mov dword [ebp - 0xf8], eax
pop eax
test esi, esi
je 0x45b803
cmp dword [ebp + 8], 0
sete dl
cmp dword [ebp - 0xd4], 0
setne al
or eax, edx
test al, 1
je 0x45b803
push esi
call dword [0x58b640]
pop eax
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x45b815
push eax
call dword [0x58b640]
pop eax
cmp dword [ebp + 0xc], 0
je 0x45b825
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x20]
test eax, eax
jne 0x45b831
mov dword [ebp - 0xd4], 3
jmp 0x45b853
cmp dword [ebp - 0xd4], 0
jne 0x45b853
push edi
push eax
push 0
call fcn.00425f55
add esp, 0xc
dec eax
setne al
movzx eax, al
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
sete dl
xor eax, eax
cmp dword [ebp + 8], 0
setne al
test eax, edx
je case.default.0x459fa1
mov eax, 0x1c
call fcn.00458a62
mov ebx, eax
test eax, eax
je 0x45b8ad
test esi, esi
je 0x45b887
mov dword [eax + 8], esi
jmp 0x45b891
push edi
call fcn.00433dc4
mov dword [ebx + 8], eax
pop edi
cmp dword [ebp - 0xf8], 0
je 0x45b8a3
mov ecx, dword [ebp - 0xf8]
mov dword [ebx + 0xc], ecx
mov edi, dword [ebp + 8]
mov dword [edi], ebx
jmp case.default.0x459fa1
test esi, esi
je 0x45b8b9
push esi
call dword [0x58b640]
pop esi
cmp dword [ebp - 0xf8], 0
je case.0x459fa1.0
push dword [ebp - 0xf8]
call dword [0x58b640]
pop ebx
jmp case.0x459fa1.0
cmp byte [edi], 0
je 0x45b90c
cmp dword [ebp + 0x18], 0
je 0x45b8f6
push edi
call fcn.00459cd8
pop ecx
test eax, eax
mov dword [ebp - 0xd0], eax
je 0x45b8f6
mov edi, eax
push edi
call fcn.00412651
pop edx
test eax, eax
je 0x45c15c
push eax
call fcn.00410841
pop eax
cmp dword [ebp + 8], 0
je 0x45c179
mov eax, 0x1d
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
push edi
call fcn.00433dc4
mov dword [ebx + 8], eax
mov eax, dword [ebp + 8]
mov dword [eax], ebx
pop eax
jmp 0x45c179
mov esi, edi
mov dword [ebp - 0xfc], 0
test edi, edi
je 0x45c15c
cmp dword [ebp + 0x18], 0
je 0x45b978
mov cl, byte [edi]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45b973
cmp cl, 0xd
jne 0x45b978
inc esi
mov cl, byte [esi]
jmp 0x45b95a
mov edi, esi
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 0x45b999
lea eax, [ecx - 0x61]
cmp al, 5
ja 0x45b9a2
inc dword [ebp - 0xfc]
inc esi
jmp 0x45b97a
cmp dword [ebp + 0x18], 0
je 0x45b9c6
mov cl, byte [esi]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45b9c3
cmp cl, 0xd
jne 0x45b9c6
inc esi
jmp 0x45b9a8
cmp byte [esi], 0
jne 0x45c15c
test byte [ebp - 0xfc], 1
jne 0x45c15c
cmp dword [ebp + 8], 0
je 0x45c179
mov eax, 0x2b
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
push dword [ebp - 0xfc]
push edi
call fcn.00433d70
mov esi, eax
pop edi
mov edx, str.allocating_hexbin_data
pop eax
test esi, esi
je 0x45bba5
mov edx, 2
mov eax, dword [ebp - 0xfc]
mov edi, edx
cdq
idiv edi
mov ecx, eax
mov edx, esi
mov eax, dword [ebp - 0xfc]
dec dword [ebp - 0xfc]
test eax, eax
jle 0x45ba49
mov al, byte [edx]
cmp al, 0x60
jbe 0x45ba46
sub eax, 0x20
mov byte [edx], al
inc edx
jmp 0x45ba2b
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], ecx
mov eax, dword [ebp + 8]
mov dword [eax], ebx
jmp 0x45c179
mov esi, edi
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0
test edi, edi
je 0x45c15c
cmp byte [edi], 0
je 0x45ba9b
movzx eax, byte [esi]
call fcn.00459b81
test eax, eax
js 0x45ba93
cmp eax, 0x3f
jg 0x45ba9b
inc dword [ebp - 0x108]
inc esi
cmp byte [esi], 0
jne 0x45ba7c
jmp 0x45bac7
cmp byte [esi], 0
je 0x45bac7
movzx eax, byte [esi]
call fcn.00459b81
test eax, eax
js 0x45bab5
cmp eax, 0x3f
jle 0x45c15c
cmp eax, 0x40
sete al
movzx eax, al
add dword [ebp - 0x10c], eax
inc esi
jmp 0x45ba9b
mov edx, 4
mov eax, dword [ebp - 0x108]
mov ebx, edx
cdq
idiv ebx
imul ecx, eax, 3
cmp dword [ebp - 0x10c], 0
mov dword [ebp - 0x104], ecx
jne 0x45baf7
test byte [ebp - 0x108], 3
je 0x45bb60
jmp 0x45c15c
cmp dword [ebp - 0x10c], 1
jne 0x45bb2b
cmp edx, 3
jne 0x45c15c
movzx eax, byte [esi]
call fcn.00459b81
cmp eax, 0x3f
jbe 0x45bb19
dec esi
jmp 0x45bb09
and eax, 0xffffffc3
jne 0x45c15c
add dword [ebp - 0x104], 2
jmp 0x45bb60
cmp dword [ebp - 0x10c], 2
jne 0x45c15c
cmp edx, 2
jne 0x45c15c
movzx eax, byte [esi]
call fcn.00459b81
cmp eax, 0x3f
jbe 0x45bb51
dec esi
jmp 0x45bb41
and eax, 0xffffffcf
jne 0x45c15c
inc dword [ebp - 0x104]
cmp dword [ebp + 8], 0
je 0x45c179
mov eax, 0x2c
call fcn.00458a62
mov ebx, eax
test eax, eax
je case.0x459fa1.0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x10c]
lea eax, [edx + ecx + 1]
push eax
call dword [0x58b638]
pop esi
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45bbba
mov edx, str.allocating_base64_data
mov eax, dword [ebp + 0xc]
call fcn.00458a50
push ebx
call dword [0x58b640]
pop ebx
jmp 0x45c15c
mov eax, dword [ebp - 0x100]
mov esi, edi
mov dword [ebx + 8], eax
cmp byte [esi], 0
je 0x45bbf6
mov dl, byte [esi]
movzx eax, dl
mov byte [ebp - 0x10d], dl
call fcn.00459b81
test eax, eax
js 0x45bbf3
mov edi, dword [ebp - 0x100]
mov cl, byte [ebp - 0x10d]
mov byte [edi], cl
inc edi
mov dword [ebp - 0x100], edi
inc esi
jmp 0x45bbc5
mov eax, dword [ebp - 0x100]
mov byte [eax], 0
mov edx, dword [ebp - 0x104]
mov dword [ebx + 0xc], edx
jmp 0x45bf9e
xor esi, esi
mov dword [ebp - 0xa0], edi
test edi, edi
je 0x45c15c
cmp dword [ebp + 0x18], 0
je 0x45bc52
mov cl, byte [edi]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45bc3e
cmp cl, 0xd
jne 0x45bc52
mov edx, dword [ebp - 0xa0]
lea eax, [edx + 1]
mov dword [ebp - 0xa0], eax
mov cl, byte [edx + 1]
jmp 0x45bc25
mov eax, dword [ebp - 0xa0]
mov dl, byte [eax]
cmp dl, 0x2d
jne 0x45bc66
mov esi, 1
jmp 0x45bc6b
cmp dl, 0x2b
jne 0x45bc72
inc eax
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x94]
lea edx, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa0]
call fcn.00459e15
pop edx
pop ecx
mov dword [ebp - 0xd4], eax
inc eax
je 0x45c15c
cmp dword [ebp + 0x18], 0
je 0x45bcdb
mov eax, dword [ebp - 0xa0]
mov cl, byte [eax]
lea eax, [ecx - 9]
cmp cl, 0x20
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x45bcc7
cmp cl, 0xd
jne 0x45bcdb
mov edx, dword [ebp - 0xa0]
lea eax, [edx + 1]
mov dword [ebp - 0xa0], eax
mov cl, byte [edx + 1]
jmp 0x45bcae
mov eax, dword [ebp - 0xa0]
cmp byte [eax], 0
jne 0x45c15c
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebx + 0x58]
cmp eax, 0x1f
jne 0x45bcfc
test esi, esi
jmp 0x45bd3b
cmp eax, 0x22
jne 0x45bd06
cmp esi, 1
jmp 0x45bd0d
cmp eax, 0x20
jne 0x45bd33
test esi, esi
je 0x45c15c
cmp dword [ebp - 0x94], 0
jne 0x45bd64
cmp dword [ebp - 0x98], 0
jne 0x45bd64
cmp dword [ebp - 0x9c], 0
jne 0x45bd64
jmp 0x45c15c
cmp eax, 0x21
jne 0x45bd64
cmp esi, 1
jne 0x45bd64
cmp dword [ebp - 0x94], 0
jne 0x45c15c
cmp dword [ebp - 0x98], 0
jne 0x45c15c
cmp dword [ebp - 0x9c], 0
jne 0x45c15c
cmp dword [ebp + 8], 0
je 0x45c179
call fcn.00458a62
mov ebx, eax
test eax, eax
je 0x45c179
cmp dword [ebp - 0xd4], 0
jne 0x45bd90
mov dword [ebp - 0xd4], 1
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x98]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x94]
jmp 0x45bf8d
xor esi, esi
mov dword [ebp - 0xb0], edi
test edi, edi
je 0x45c15c
mov al, byte [edi]
cmp al, 0x2d
jne 0x45bdc9
mov si, 1
jmp 0x45bdcd
cmp al, 0x2b
jne 0x45bdd6
lea eax, [edi + 1]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xa4]
lea edx, [ebp - 0xac]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xb0]
call fcn.00459e15
pop ebx
test eax, eax
pop edi
mov dword [ebp - 0xd4], eax
js 0x45c15c
mov eax, dword [ebp - 0xb0]
cmp byte [eax], 0
jne 0x45c15c
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebx + 0x58]
cmp eax, 0x25
jne 0x45be89
mov edx, dword [ebp - 0xa4]
cmp edx, 0x399
jbe 0x45bf5c
cmp edx, 0x39a
ja 0x45c15c
mov edx, dword [ebp - 0xa8]
cmp edx, 0x202882f
jbe 0x45bf5c
cmp edx, 0x2028830
ja 0x45c15c
test esi, esi
jne 0x45be71
cmp dword [ebp - 0xac], 0x343cfff
jmp 0x45bf56
cmp esi, 1
jne 0x45bf5c
cmp dword [ebp - 0xac], 0x343d000
jmp 0x45bf56
cmp eax, 0x23
jne 0x45bedb
cmp dword [ebp - 0xa4], 0
jne 0x45c15c
mov edx, dword [ebp - 0xa8]
cmp edx, 0x14
jbe 0x45bf5c
cmp edx, 0x15
ja 0x45c15c
test esi, esi
jne 0x45bec6
cmp dword [ebp - 0xac], 0x2d48aff
jmp 0x45bf56
cmp esi, 1
jne 0x45bf5c
cmp dword [ebp - 0xac], 0x2d48b00
jmp 0x45bf56
cmp eax, 0x27
jne 0x45bf1b
cmp dword [ebp - 0xa8], 0
jne 0x45c15c
cmp dword [ebp - 0xa4], 0
jne 0x45c15c
cmp esi, 1
jne 0x45bf0b
cmp dword [ebp - 0xac], 0x8000
jmp 0x45bf56
test esi, esi
jne 0x45bf5c
cmp dword [ebp - 0xac], 0x7fff
jmp 0x45bf56
cmp eax, 0x29
jne 0x45bf5c
cmp dword [ebp - 0xa8], 0
jne 0x45c15c
cmp dword [ebp - 0xa4], 0
jne 0x45c15c
cmp esi, 1
jne 0x45bf4b
cmp dword [ebp - 0xac], 0x80
jmp 0x45bf56
test esi, esi
jne 0x45bf5c
cmp dword [ebp - 0xac], 0x7f
ja 0x45c15c
cmp dword [ebp + 8], 0
je 0x45c179
call fcn.00458a62
mov ebx, eax
test eax, eax
je 0x45c179
mov eax, dword [ebp - 0xac]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebx + 0x10], eax
mov eax, esi
mov byte [ebx + 0x18], al
mov dl, byte [ebp - 0xd4]
mov byte [ebx + 0x19], dl
mov ecx, dword [ebp + 8]
mov dword [ecx], ebx
jmp 0x45c179
mov dword [ebp - 0xc0], edi
test edi, edi
je 0x45c15c
lea eax, [ebp - 0xb4]
lea edx, [ebp - 0xbc]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xc0]
call fcn.00459e15
pop edx
test eax, eax
pop ecx
mov dword [ebp - 0xd4], eax
js 0x45c15c
mov eax, dword [ebp - 0xc0]
cmp byte [eax], 0
jne 0x45c15c
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebx + 0x58]
cmp eax, 0x26
jne 0x45c04d
mov edx, dword [ebp - 0xb4]
cmp edx, 0x733
jbe 0x45c0d9
cmp edx, 0x734
ja 0x45c15c
mov edx, dword [ebp - 0xb8]
cmp edx, 0x4051060
jbe 0x45c0d9
cmp edx, 0x4051061
ja 0x45c15c
cmp dword [ebp - 0xbc], 0x91beff
jmp 0x45c0d3
cmp eax, 0x24
jne 0x45c07f
cmp dword [ebp - 0xb4], 0
jne 0x45c15c
mov edx, dword [ebp - 0xb8]
cmp edx, 0x29
jbe 0x45c0d9
cmp edx, 0x2a
ja 0x45c15c
cmp dword [ebp - 0xbc], 0x5a915ff
jmp 0x45c0d3
cmp eax, 0x28
jne 0x45c0aa
cmp dword [ebp - 0xb8], 0
jne 0x45c15c
cmp dword [ebp - 0xb4], 0
jne 0x45c15c
cmp dword [ebp - 0xbc], 0xffff
jmp 0x45c0d3
cmp eax, 0x2a
jne 0x45c0d9
cmp dword [ebp - 0xb8], 0
jne 0x45c15c
cmp dword [ebp - 0xb4], 0
jne 0x45c15c
cmp dword [ebp - 0xbc], 0xff
ja 0x45c15c
cmp dword [ebp + 8], 0
je 0x45c179
call fcn.00458a62
mov ebx, eax
test eax, eax
je 0x45c179
mov eax, dword [ebp - 0xbc]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebx + 0x10], eax
mov byte [ebx + 0x18], 0
mov al, byte [ebp - 0xd4]
mov byte [ebx + 0x19], al
mov edx, dword [ebp + 8]
mov dword [edx], ebx
jmp 0x45c179
cmp dword [ebp - 0xd0], 0
je 0x45c137
push dword [ebp - 0xd0]
call dword [0x58b640]
pop eax
mov eax, dword [ebp - 0xd4]
jmp 0x45c1ac
cmp dword [ebp - 0xd0], 0
je 0x45c155
push dword [ebp - 0xd0]
call dword [0x58b640]
pop eax
mov eax, 3
jmp 0x45c1ac
cmp dword [ebp - 0xd0], 0
je 0x45c172
push dword [ebp - 0xd0]
call dword [0x58b640]
pop eax
mov eax, 1
jmp 0x45c1ac
cmp dword [ebp - 0xd0], 0
je 0x45c18f
push dword [ebp - 0xd0]
call dword [0x58b640]
pop eax
xor eax, eax
jmp 0x45c1ac
cmp dword [ebp - 0xd0], 0
je 0x45c1a9
push dword [ebp - 0xd0]
call dword [0x58b640]
pop eax
or eax, 0xffffffff
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret