Function at 0x44d044
Capabilities:
Authenticate hmac
Encode data using base64
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xe0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax]
mov eax, dword [esp + 0xe8]
push ebx
mov ebx, dword [eax]
mov eax, dword [esp + 0xf0]
push ebp
mov ebp, dword [esp + 0x108]
push esi
push edi
mov edi, dword [eax]
mov eax, ecx
shr eax, 0xb
and eax, 1
mov dword [esp + 0x3c], eax
mov esi, ecx
shr esi, 9
and esi, 1
mov eax, esi
xor eax, 1
mov dword [esp + 0xcc], eax
mov eax, 0xfffffffe
xor edx, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x38], eax
movsx eax, cl
and eax, 1
shl eax, 8
mov dword [esp + 0x78], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x5c], edx
mov dword [esp + 0xac], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0xa8], esi
mov eax, ebx
cmp dword [esp + 0x114], 0
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
mov dword [esp + 0x14], ecx
je 0x44d1ab
mov ecx, dword [ebp + 0x10]
add ecx, 0x1000
cmp ebx, ecx
ja 0x45009d
cmp ebx, eax
jae 0x44d126
mov ebx, eax
mov edx, dword [esp + 0x114]
mov ecx, dword [edx]
mov edx, ebx
sub edx, eax
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x4500c0
sub ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x114]
add ecx, ebx
mov dword [edx], ecx
test eax, eax
je 0x44d196
cmp eax, dword [esp + 0xb8]
jbe 0x44d19d
mov edi, dword [esp + 0xb8]
mov ecx, ebx
sub ecx, eax
push ecx
push eax
push edi
call fcn.004160d0
mov ecx, dword [esp + 0x20]
mov edx, edi
sub edx, dword [esp + 0x24]
add esp, 0xc
add ebx, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x7c], ebx
jmp 0x44d1bc
mov ebx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x7c], ebx
jmp 0x44d1bc
mov eax, dword [ebp + 0x10]
add eax, 0x1000
cmp dword [ebp + 0x24], eax
ja 0x4500e3
cmp dword [esp + 0x5c], 0
je 0x44d278
test ecx, ecx
je 0x44d278
cmp ecx, 0x5c
jne 0x44d1f8
cmp byte [edi + 1], 0x45
jne 0x44d1f8
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
inc edi
mov dword [esp + 0x5c], 0
inc edi
jmp 0x44d0f6
test edx, edx
je 0x44d237
cmp dword [esp + 0x114], 0
jne 0x44d22f
movzx eax, byte [edx + 2]
movzx esi, byte [edx + 3]
shl eax, 8
or eax, esi
sub edi, eax
sub edi, dword [ebp + 0x18]
mov eax, edi
sar eax, 8
mov dword [esp + 0x58], edi
mov byte [edx + 4], al
mov al, byte [esp + 0x58]
mov byte [edx + 5], al
mov edi, dword [esp + 0x10]
mov dword [esp + 0x60], 0
test dword [esp + 0x40], 0x4000
je case.0x44d3d9.1
mov byte [ebx], 0x53
mov byte [ebx + 1], 0xff
mov dword [esp + 0x60], ebx
mov eax, edi
inc ebx
mov edx, eax
sub edx, dword [ebp + 0x18]
inc ebx
sar edx, 8
mov byte [ebx], dl
sub al, byte [ebp + 0x18]
mov byte [ebx + 2], 0
mov byte [ebx + 1], al
mov byte [ebx + 3], 0
mov edi, dword [esp + 0x10]
add ebx, 4
jmp case.0x44d3d9.1
cmp ecx, 0x2a
je 0x44d304
cmp ecx, 0x2b
je 0x44d304
cmp ecx, 0x3f
je 0x44d304
cmp ecx, 0x7b
jne 0x44d2a4
lea eax, [edi + 1]
push eax
call fcn.004325aa
mov ecx, dword [esp + 0x18]
add esp, 4
test eax, eax
jne 0x44d304
xor eax, eax
mov dword [esp + 0x20], eax
cmp dword [esp + 0x60], eax
je 0x44d30c
mov eax, dword [esp + 0xb4]
mov edx, eax
dec eax
mov dword [esp + 0xb4], eax
test edx, edx
jg 0x44d30c
cmp dword [esp + 0x114], 0
jne 0x44d2fa
mov eax, dword [esp + 0x60]
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
or edx, eax
mov eax, edi
mov edi, dword [esp + 0x60]
sub eax, edx
sub eax, dword [ebp + 0x18]
mov edx, eax
sar edx, 8
mov byte [edi + 4], dl
mov byte [edi + 5], al
mov edi, dword [esp + 0x10]
mov dword [esp + 0x60], 0
jmp 0x44d30c
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x40]
xor edx, edx
and eax, 8
mov dword [esp + 0x2c], eax
je 0x44d389
mov eax, dword [ebp + 0xc]
test byte [ecx + eax], 1
jne 0x450088
cmp ecx, 0x23
jne 0x44d380
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
je 0x44d37e
mov ecx, dword [ebp + 0x58]
test ecx, ecx
je 0x44d3e0
mov eax, dword [ebp + 0x1c]
cmp edi, eax
jae 0x44d406
mov edx, dword [esp + 0x3c]
push edx
lea edx, [ebp + 0x5c]
push edx
push eax
push ecx
push edi
call fcn.00431924
add esp, 0x14
test eax, eax
je 0x44d406
mov ecx, dword [ebp + 0x5c]
lea edi, [edi + ecx - 1]
mov dword [esp + 0x10], edi
cmp byte [edi], 0
jne 0x450088
xor ecx, ecx
mov esi, dword [esp + 0xa8]
xor edx, edx
test dword [esp + 0x40], 0x4000
je 0x44d3c9
cmp dword [esp + 0x20], edx
jne 0x44d3c9
mov byte [ebx], 0x53
mov byte [ebx + 1], 0xff
mov dword [esp + 0x60], ebx
mov eax, edi
inc ebx
mov edx, eax
sub edx, dword [ebp + 0x18]
inc ebx
sar edx, 8
mov byte [ebx], dl
sub al, byte [ebp + 0x18]
mov byte [ebx + 2], 0
mov byte [ebx + 1], al
mov byte [ebx + 3], 0
mov edi, dword [esp + 0x10]
add ebx, 4
xor edx, edx
cmp ecx, 0x7c
ja case.0x44d3d9.1
movzx eax, byte [ecx + 0x4505fc]
jmp dword [eax*4 + 0x4505c8]
mov ecx, dword [ebp + 0x5c]
mov edx, dword [ebp + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x44d406
cmp al, byte [ebp + 0x60]
jne 0x44d406
cmp ecx, 1
je 0x44d36a
mov al, byte [edi + 1]
cmp al, byte [ebp + 0x61]
je 0x44d36a
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
jne 0x44d338
jmp 0x44d37e
test byte [esp + 0x40], 2
je 0x44d430
cmp dword [esp + 0x38], 0xfffffffe
jne 0x44d430
mov dword [esp + 0x38], 0xffffffff
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
mov byte [ebx], 0x1a
mov edi, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x60]
inc ebx
inc edi
jmp 0x44d0f6
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
mov byte [ebx], 0x1b
mov edi, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x60]
inc ebx
inc edi
jmp 0x44d0f6
mov eax, dword [esp + 0x38]
cmp eax, 0xfffffffe
jne 0x44d482
or eax, 0xffffffff
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x48], eax
movsx eax, byte [esp + 0x40]
and eax, 4
or eax, 0x30
shr eax, 2
mov byte [ebx], al
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], ebx
inc ebx
mov dword [esp + 0x4c], ecx
inc edi
jmp 0x44d0f6
test dword [ebp + 0x44], 0x2000000
jne 0x450182
cmp dword [esp + 0x3c], 0
mov esi, 1
mov byte [esp + 0xbc], cl
je 0x44d50e
cmp ecx, 0xc0
jl 0x44d50e
mov dl, byte [edi + 1]
inc edi
and dl, 0xc0
cmp dl, 0x80
jne 0x44d50e
lea esp, [esp]
mov dword [esp + 0x10], edi
mov al, byte [edi]
mov cl, byte [edi + 1]
inc edi
mov byte [esp + esi + 0xbc], al
and cl, 0xc0
inc esi
cmp cl, 0x80
je 0x44d4f4
movsx eax, byte [esp + 0x40]
and eax, 1
or al, 0x1c
mov dword [esp + 0x18], ebx
mov byte [ebx], al
inc ebx
test esi, esi
jle 0x44d537
push esi
lea edx, [esp + 0xc0]
push edx
push ebx
call fcn.00410d20
add esp, 0xc
add ebx, esi
mov cl, byte [esp + 0xbc]
cmp cl, 0xd
je 0x44d548
cmp cl, 0xa
jne 0x44d54c
or dword [ebp + 0x48], 0x20
mov eax, dword [esp + 0x38]
cmp eax, 0xfffffffe
jne 0x45005d
mov edx, dword [esp + 0x54]
or eax, 0xffffffff
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
cmp esi, 1
je 0x450044
cmp dword [esp + 0x78], 0
je 0x450044
mov dword [esp + 0x38], eax
jmp 0x450080
mov al, byte [edi + 1]
mov dword [esp + 0x18], ebx
cmp al, 0x3a
je 0x44d598
cmp al, 0x2e
je 0x44d598
cmp al, 0x3d
jne 0x44d5b1
lea edx, [esp + 0xa4]
push edx
push edi
call fcn.00431b80
add esp, 8
test eax, eax
jne 0x4501a5
xor esi, esi
nop
inc edi
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
mov dword [esp + 0x14], eax
cmp eax, 0x5c
jne 0x44d5e8
inc edi
cmp byte [edi], 0x45
je 0x44d5b4
push 3
push 0x48b4a8
push edi
call fcn.00416435
add esp, 0xc
test eax, eax
jne 0x44d644
mov edi, dword [esp + 0x10]
add edi, 3
jmp 0x44d5b4
test esi, esi
jne 0x44d5f6
cmp eax, 0x5e
jne 0x44d5f6
lea esi, [eax - 0x5d]
jmp 0x44d5b4
mov dword [esp + 0x34], esi
cmp eax, 0x5d
jne 0x44d648
test dword [ebp + 0x44], 0x2000000
je 0x44d648
neg esi
sbb esi, esi
and esi, 0xffffff9e
add esi, 0x6f
mov eax, esi
mov byte [ebx], al
mov eax, dword [esp + 0x38]
inc ebx
cmp eax, 0xfffffffe
jne 0x44d627
or eax, 0xffffffff
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x7c]
inc edi
jmp 0x44d0f6
mov dword [esp + 0x34], esi
xor edi, edi
push 0x20
lea eax, [esp + 0x84]
push edi
push eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x2c], 0xffffffff
call fcn.00412fa0
add esp, 0xc
cmp dword [esp + 0x14], edi
lea esi, [ebx + 4]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x58], esi
je 0x450237
jmp 0x44d694
cmp dword [esp + 0x3c], 0
mov edx, dword [esp + 0x14]
je 0x44d71f
cmp edx, 0x7f
jle 0x44d71f
movzx edx, byte [edi]
cmp edx, 0xc0
mov dword [esp + 0x14], edx
jl 0x44d71f
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
lea ecx, [eax + eax*2]
mov dword [esp + 0x2c], eax
mov eax, dword [eax*4 + 0x484a40]
and eax, edx
add ecx, ecx
shl eax, cl
mov dword [esp + 0x4c], 1
mov edx, eax
mov eax, dword [esp + 0x2c]
cmp eax, 1
mov dword [esp + 0x14], edx
jl 0x44d719
mov edi, edi
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + edi]
and eax, 0x3f
sub ecx, 6
shl eax, cl
inc edx
mov dword [esp + 0x4c], edx
or dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
cmp edx, eax
jle 0x44d6f4
mov edx, dword [esp + 0x14]
add edi, eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x114]
test eax, eax
je 0x44d734
mov ecx, esi
mov esi, dword [esp + 0x58]
sub ecx, esi
add dword [eax], ecx
cmp dword [esp + 0x5c], 0
je 0x44d75c
cmp edx, 0x5c
jne 0x44d92a
cmp byte [edi + 1], 0x45
jne 0x44d92a
mov dword [esp + 0x5c], 0
inc edi
jmp 0x44dc0b
cmp edx, 0x5b
jne 0x44d8dd
mov al, byte [edi + 1]
cmp al, 0x3a
je 0x44d778
cmp al, 0x2e
je 0x44d778
cmp al, 0x3d
jne 0x44d92a
lea edx, [esp + 0xa4]
push edx
push edi
call fcn.00431b80
add esp, 8
test eax, eax
je 0x44d92a
cmp byte [edi + 1], 0x3a
mov eax, dword [ebp + 8]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x4c], eax
jne 0x4501d4
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5e
jne 0x44d7c9
mov eax, 1
add edi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0xa4]
sub ecx, edi
push ecx
push edi
call fcn.00431b30
add esp, 8
test eax, eax
jl 0x4501f7
test byte [esp + 0x40], 1
je 0x44d7f2
cmp eax, 2
jg 0x44d7f2
xor eax, eax
lea edi, [eax + eax*2]
mov edx, dword [edi*4 + 0x485660]
add edx, dword [esp + 0x4c]
push 0x20
push edx
lea eax, [esp + 0xd8]
push eax
call fcn.00410d20
mov ecx, dword [edi*4 + 0x485664]
mov edi, dword [edi*4 + 0x485668]
add esp, 0xc
test ecx, ecx
jl 0x44d858
mov edx, dword [esp + 0x4c]
xor eax, eax
add ecx, edx
test edi, edi
jl 0x44d846
lea ecx, [ecx]
mov dl, byte [ecx + eax]
or byte [esp + eax + 0xd0], dl
inc eax
cmp eax, 0x20
jl 0x44d834
jmp 0x44d858
mov dl, byte [ecx + eax]
not dl
and byte [esp + eax + 0xd0], dl
inc eax
cmp eax, 0x20
jl 0x44d846
test edi, edi
jge 0x44d85e
neg edi
cmp edi, 1
jne 0x44d86d
and byte [esp + 0xd1], 0xc3
jmp 0x44d87a
cmp edi, 2
jne 0x44d87a
and byte [esp + 0xdb], 0x7f
xor eax, eax
cmp dword [esp + 0x2c], eax
je 0x44d8b4
mov edi, edi
mov cl, byte [esp + eax + 0xd0]
not cl
or byte [esp + eax + 0x80], cl
inc eax
cmp eax, 0x20
jl 0x44d884
mov edi, dword [esp + 0xa4]
inc edi
mov dword [esp + 0x48], 0xa
jmp 0x44dc0b
mov dl, byte [esp + eax + 0xd0]
or byte [esp + eax + 0x80], dl
inc eax
cmp eax, 0x20
jl 0x44d8b4
mov edi, dword [esp + 0xa4]
inc edi
mov dword [esp + 0x48], 0xa
jmp 0x44dc0b
cmp edx, 0x5c
jne 0x44d92a
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0x34]
mov edi, dword [esp + 0x100]
push 1
push eax
push ecx
lea edx, [esp + 0x1c]
push edi
push edx
call fcn.00432632
add esp, 0x14
cmp dword [edi], 0
mov dword [esp + 0x14], eax
jne 0x44eee2
mov edx, eax
mov ecx, edx
neg ecx
cmp ecx, 5
jne 0x44d9a0
mov dword [esp + 0x14], 8
mov edi, dword [esp + 0x10]
xor ecx, ecx
cmp byte [edi + 1], 0x5c
jne 0x44d94b
mov edi, edi
cmp byte [edi + 2], 0x45
jne 0x44d94b
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi + 1], 0x5c
mov dword [esp + 0x5c], ecx
je 0x44d934
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], edi
cmp eax, 0xd
je 0x44d95d
cmp eax, 0xa
jne 0x44d961
or dword [ebp + 0x48], 0x20
cmp dword [esp + 0x5c], ecx
jne 0x44e17c
cmp byte [edi + 1], 0x2d
jne 0x44e17c
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5c
jne 0x44df3a
cmp byte [edi + 1], 0x45
jne 0x44df07
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5c
je 0x44d985
jmp 0x44df3a
cmp ecx, 0x16
jne 0x44d9b2
mov dword [esp + 0x14], 0x58
jmp 0x44d926
cmp ecx, 0x11
jne 0x44d9c4
mov dword [esp + 0x14], 0x52
jmp 0x44d926
cmp ecx, 0x1a
jne 0x44d9ee
mov edi, dword [esp + 0x10]
cmp byte [edi + 1], 0x5c
jne 0x44d9e1
cmp byte [edi + 2], 0x45
jne 0x44d9e1
add edi, 2
jmp 0x44dc0b
mov dword [esp + 0x5c], 1
jmp 0x44dc0b
cmp ecx, 0x19
je 0x44dc07
test edx, edx
jge 0x44d926
add dword [esp + 0x48], 2
cmp dword [esp + 0x114], 0
mov eax, dword [ebp + 8]
jne 0x44db27
lea edx, [ecx - 6]
cmp edx, 5
ja case.default.0x44da21
jmp dword [edx*4 + 0x45067c]
xor edi, edi
jmp 0x44da34
mov cl, byte [eax + edi + 0x40]
or byte [esp + edi + 0x80], cl
inc edi
cmp edi, 0x20
jl 0x44da34
jmp 0x44dc07
mov dword [esp + 0x24], 1
xor edi, edi
mov dl, byte [eax + edi + 0x40]
not dl
or byte [esp + edi + 0x80], dl
inc edi
cmp edi, 0x20
jl 0x44da54
jmp 0x44dc07
xor edi, edi
lea ebx, [ebx]
mov cl, byte [eax + edi + 0xa0]
or byte [esp + edi + 0x80], cl
inc edi
cmp edi, 0x20
jl 0x44da74
jmp 0x44dc07
mov dword [esp + 0x24], 1
xor edi, edi
jmp 0x44daa4
mov dl, byte [eax + edi + 0xa0]
not dl
or byte [esp + edi + 0x80], dl
inc edi
cmp edi, 0x20
jl 0x44daa4
jmp 0x44dc07
lea ecx, [esp + 0x80]
xor edi, edi
sub eax, ecx
jmp 0x44dad4
lea ecx, [esp + edi + 0x80]
mov dl, byte [eax + ecx]
or byte [ecx], dl
inc edi
cmp edi, 0x20
jl 0x44dad4
and byte [esp + 0x81], 0xf7
jmp 0x44dc07
lea edx, [esp + 0x80]
xor ecx, ecx
mov dword [esp + 0x24], 1
sub eax, edx
lea edi, [esp + ecx + 0x80]
mov dl, byte [eax + edi]
not dl
or byte [edi], dl
inc ecx
cmp ecx, 0x20
jl 0x44db06
or byte [esp + 0x81], 8
jmp 0x44dc07
cmp edx, 0xfffffff9
je 0x44dc07
cmp edx, 0xfffffffa
je 0x44dc07
cmp edx, 0xfffffff5
je 0x44dc07
cmp edx, 0xfffffff6
je 0x44dc07
cmp edx, 0xfffffff7
je 0x44dc07
cmp edx, 0xfffffff8
je 0x44dc07
cmp ecx, 0x13
jne 0x44dce7
or byte [esp + 0x81], 2
or byte [esp + 0x84], 1
or byte [esp + 0x94], 1
cmp dword [esp + 0x3c], 0
je 0x44dc07
mov byte [esi], 1
inc esi
push esi
push 0x1680
mov dword [esp + 0x30], 1
call fcn.00431789
add esi, eax
mov byte [esi], 1
inc esi
push esi
push 0x180e
call fcn.00431789
add esi, eax
mov byte [esi], 2
inc esi
push esi
push 0x2000
call fcn.00431789
add esi, eax
push esi
push 0x200a
call fcn.00431789
add esi, eax
mov byte [esi], 1
inc esi
push esi
push 0x202f
call fcn.00431789
add esi, eax
mov byte [esi], 1
inc esi
push esi
push 0x205f
call fcn.00431789
add esi, eax
mov byte [esi], 1
inc esi
push esi
push 0x3000
call fcn.00431789
add esp, 0x38
add esi, eax
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
mov dword [esp + 0x14], eax
test eax, eax
je 0x450237
cmp eax, 0x5d
jne 0x44d694
cmp dword [esp + 0x5c], 0
jne 0x44d694
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
cmp edi, 1
jne 0x44dc6b
cmp dword [esp + 0x28], 0
jne 0x44dc6b
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x44e21a
test ecx, ecx
je 0x44e21a
mov edx, dword [esp + 0x20]
cmp edx, 0x80
jl 0x44e21e
mov eax, dword [esp + 0x38]
cmp eax, 0xfffffffe
jne 0x44dc7b
or eax, 0xffffffff
mov dword [esp + 0x38], eax
cmp dword [esp + 0x28], 0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
je 0x44e2c4
cmp dword [esp + 0x24], 0
jne 0x44e2c4
mov byte [esi], 0
mov byte [ebx], 0x50
add ebx, 3
xor eax, eax
inc esi
test ecx, ecx
setne al
mov byte [ebx], al
test edi, edi
jle 0x44e294
or al, 2
mov byte [ebx], al
inc ebx
mov ecx, esi
sub ecx, ebx
push ecx
lea edx, [ebx + 0x20]
push ebx
push edx
call fcn.004160d0
push 0x20
lea eax, [esp + 0x90]
push eax
push ebx
call fcn.00410d20
add esp, 0x18
lea ebx, [esi + 0x20]
jmp 0x44e296
cmp ecx, 0x12
jne 0x44de11
xor eax, eax
mov edi, edi
mov ecx, eax
sub ecx, 1
mov edx, 0xff
je 0x44dd11
sub ecx, 3
je 0x44dd0a
sub ecx, 0x10
jne 0x44dd16
mov edx, 0xfe
jmp 0x44dd16
mov edx, 0xfd
or byte [esp + eax + 0x80], dl
inc eax
cmp eax, 0x20
jl 0x44dcf4
cmp dword [esp + 0x3c], 0
je 0x44dc07
mov byte [esi], 2
inc esi
push esi
push 0x100
mov dword [esp + 0x30], 1
call fcn.00431789
add esi, eax
push esi
push 0x167f
call fcn.00431789
add esi, eax
mov byte [esi], 2
inc esi
push esi
push 0x1681
call fcn.00431789
add esi, eax
push esi
push 0x180d
call fcn.00431789
add esi, eax
mov byte [esi], 2
inc esi
push esi
push 0x180f
call fcn.00431789
add esi, eax
push esi
push 0x1fff
call fcn.00431789
add esi, eax
mov byte [esi], 2
inc esi
push esi
push 0x200b
call fcn.00431789
add esi, eax
push esi
push 0x202e
call fcn.00431789
add esi, eax
mov byte [esi], 2
add esp, 0x40
inc esi
push esi
push 0x2030
call fcn.00431789
add esi, eax
push esi
push 0x205e
call fcn.00431789
add esi, eax
mov byte [esi], 2
inc esi
push esi
push 0x2060
call fcn.00431789
add esi, eax
push esi
push 0x2fff
call fcn.00431789
add esi, eax
mov byte [esi], 2
inc esi
push esi
push 0x3001
call fcn.00431789
add esi, eax
push esi
push accept
call fcn.00431789
add esp, 0x30
jmp 0x44dc05
cmp ecx, 0x15
jne 0x44de5d
or byte [esp + 0x81], 0x3c
or byte [esp + 0x90], 0x20
cmp dword [esp + 0x3c], 0
je 0x44dc07
mov byte [esi], 2
inc esi
push esi
push 0x2028
mov dword [esp + 0x30], 1
call fcn.00431789
add esi, eax
push esi
push 0x2029
call fcn.00431789
add esp, 0x10
jmp 0x44dc05
cmp ecx, 0x14
jne 0x44dee7
xor eax, eax
mov ecx, eax
sub ecx, 1
mov edx, 0xff
je 0x44de80
sub ecx, 0xf
jne 0x44de85
mov edx, 0xdf
jmp 0x44de85
mov edx, 0xc3
or byte [esp + eax + 0x80], dl
inc eax
cmp eax, 0x20
jl 0x44de68
cmp dword [esp + 0x3c], 0
je 0x44dc07
mov byte [esi], 2
inc esi
push esi
push 0x100
mov dword [esp + 0x30], 1
call fcn.00431789
add esi, eax
push esi
push 0x2027
call fcn.00431789
add esi, eax
mov byte [esi], 2
inc esi
push esi
push 0x2029
call fcn.00431789
add esi, eax
push esi
push accept
call fcn.00431789
add esp, 0x20
jmp 0x44dc05
test byte [esp + 0x40], 0x40
jne 0x450209
mov edi, dword [esp + 0x10]
movzx eax, byte [edi]
sub dword [esp + 0x48], 2
mov dword [esp + 0x14], eax
jmp 0x44d92a
cmp byte [edi], 0x5c
jne 0x44df3a
cmp byte [edi + 1], 0x51
jne 0x44df3a
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5c
jne 0x44df32
cmp byte [edi + 1], 0x45
jne 0x44df32
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5c
je 0x44df0c
jmp 0x44df3a
mov dword [esp + 0x5c], 1
mov al, byte [edi]
test al, al
je 0x44e174
cmp dword [esp + 0x5c], 0
jne 0x44df53
cmp al, 0x5d
je 0x44e174
cmp dword [esp + 0x3c], 0
je 0x44dfcd
movzx edx, al
cmp edx, 0xc0
mov dword [esp + 0x1c], edx
jl 0x44dfd4
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
mov dword [esp + 0x64], eax
lea ecx, [eax + eax*2]
mov eax, dword [eax*4 + 0x484a40]
and eax, edx
mov edx, dword [esp + 0x64]
add ecx, ecx
shl eax, cl
mov dword [esp + 0x1c], eax
mov eax, 1
cmp edx, eax
mov dword [esp + 0x2c], eax
jl 0x44dfc5
lea ebx, [ebx]
movzx edx, byte [eax + edi]
mov eax, dword [esp + 0x2c]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc eax
mov dword [esp + 0x2c], eax
or dword [esp + 0x1c], edx
mov edx, dword [esp + 0x64]
cmp eax, edx
jle 0x44dfa4
add edi, edx
mov dword [esp + 0x10], edi
jmp 0x44dfd4
movzx eax, al
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x5c], 0
jne 0x44e046
cmp dword [esp + 0x1c], 0x5c
jne 0x44e046
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + 0x34]
mov edi, dword [esp + 0x100]
push 1
push ecx
push edx
lea eax, [esp + 0x1c]
push edi
push eax
call fcn.00432632
add esp, 0x14
cmp dword [edi], 0
mov dword [esp + 0x1c], eax
jne 0x44eee2
test eax, eax
jge 0x44e042
cmp eax, 0xfffffffb
jne 0x44e022
mov dword [esp + 0x1c], 8
jmp 0x44e042
cmp eax, 0xffffffea
jne 0x44e031
mov dword [esp + 0x1c], 0x58
jmp 0x44e042
cmp eax, 0xffffffef
jne 0x44e174
mov dword [esp + 0x1c], 0x52
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, eax
jl 0x450214
je 0x44e17c
mov eax, ecx
cmp eax, 0xd
je 0x44e068
cmp eax, 0xa
jne 0x44e06c
or dword [ebp + 0x48], 0x20
cmp dword [esp + 0x3c], 0
je 0x44e0d3
cmp eax, 0xff
jg 0x44e086
test byte [esp + 0x40], 1
je 0x44e0d3
cmp eax, 0x7f
jle 0x44e0d3
mov edi, dword [esp + 0x14]
mov byte [esi], 2
inc esi
push esi
push edi
mov dword [esp + 0x30], 1
call fcn.00431789
mov ecx, dword [esp + 0x24]
add esi, eax
push esi
push ecx
call fcn.00431789
add esp, 0x10
add esi, eax
test byte [esp + 0x40], 1
je 0x44dc07
cmp edi, 0x7f
jg 0x44dc07
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1c], 0x7f
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov edx, eax
sub edx, dword [esp + 0x14]
cmp dword [esp + 0x114], 0
lea edx, [ecx + edx + 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x20], eax
jne 0x44dc0b
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jg 0x44dc0b
mov eax, dword [esp + 0x40]
and eax, 1
mov dword [esp + 0x2c], eax
lea esp, [esp]
mov ecx, dword [esp + 0x14]
mov eax, ecx
cdq
and edx, 7
add eax, edx
and ecx, 7
mov dl, 1
shl dl, cl
sar eax, 3
lea eax, [esp + eax + 0x80]
or byte [eax], dl
cmp dword [esp + 0x2c], 0
je 0x44e160
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [eax + ecx]
mov eax, ecx
cdq
and edx, 7
add eax, edx
and ecx, 7
mov dl, 1
sar eax, 3
shl dl, cl
lea eax, [esp + eax + 0x80]
or byte [eax], dl
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jle 0x44e114
jmp 0x44dc0b
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x10], edi
cmp dword [esp + 0x3c], 0
je 0x44e1b9
mov eax, dword [esp + 0x14]
cmp eax, 0xff
jg 0x44e19a
test byte [esp + 0x40], 1
je 0x44e1b9
cmp eax, 0x7f
jle 0x44e1b9
mov eax, dword [esp + 0x14]
mov byte [esi], 1
inc esi
push esi
push eax
mov dword [esp + 0x30], 1
call fcn.00431789
add esp, 8
jmp 0x44dc05
mov ecx, dword [esp + 0x14]
mov eax, ecx
cdq
and edx, 7
add eax, edx
and ecx, 7
mov dl, 1
shl dl, cl
sar eax, 3
lea eax, [esp + eax + 0x80]
or byte [eax], dl
test byte [esp + 0x40], 1
je 0x44e209
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [eax + ecx]
mov eax, ecx
cdq
and edx, 7
add eax, edx
mov dword [esp + 0x14], ecx
and ecx, 7
mov dl, 1
sar eax, 3
shl dl, cl
lea eax, [esp + eax + 0x80]
or byte [eax], dl
mov eax, dword [esp + 0x14]
inc dword [esp + 0x48]
mov dword [esp + 0x20], eax
jmp 0x44dc0b
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x4c], esi
test ecx, ecx
je 0x44e25e
mov eax, dword [esp + 0x38]
cmp eax, 0xfffffffe
jne 0x44e23a
or eax, 0xffffffff
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0xa8]
mov byte [ebx], 0x1e
inc ebx
mov byte [ebx], dl
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x7c]
inc ebx
inc edi
jmp 0x44d0f6
test eax, eax
je 0x44e283
cmp edx, 0x7f
jle 0x44e283
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0xbc]
push ecx
push edx
call fcn.00431789
add esp, 8
mov esi, eax
jmp 0x44d50e
mov byte [esp + 0xbc], dl
mov esi, 1
jmp 0x44d50e
mov ebx, esi
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xa8]
mov ecx, ebx
sub ecx, eax
mov dl, bl
sub dl, al
sar ecx, 8
mov byte [eax + 2], dl
mov edx, dword [esp + 0x60]
mov byte [eax + 1], cl
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
inc edi
jmp 0x44d0f6
xor eax, eax
cmp ecx, dword [esp + 0x24]
setne al
inc ebx
add eax, 0x4e
mov byte [ebx - 1], al
test ecx, ecx
je 0x44e31d
cmp dword [esp + 0x114], 0
jne 0x44e330
lea esi, [esp + 0x80]
mov eax, ebx
sub esi, ebx
mov edi, 0x20
mov edi, edi
mov cl, byte [esi + eax]
not cl
mov byte [eax], cl
inc eax
sub edi, 1
jne 0x44e2f4
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
add ebx, 0x20
inc edi
jmp 0x44d0f6
push 0x20
lea edx, [esp + 0x84]
push edx
push ebx
call fcn.00410d20
add esp, 0xc
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
add ebx, 0x20
inc edi
jmp 0x44d0f6
cmp dword [esp + 0x20], edx
je case.0x44d3d9.1
mov eax, dword [esp + 0x100]
push eax
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x58]
push edx
inc edi
push edi
call fcn.00432507
mov edi, eax
mov eax, dword [esp + 0x110]
add esp, 0x10
cmp dword [eax], 0
mov dword [esp + 0x10], edi
jne 0x44eee6
jmp 0x44e3b2
mov dword [esp + 0x30], 0xffffffff
jmp 0x44e3ae
mov dword [esp + 0x50], 1
mov dword [esp + 0x30], 0xffffffff
jmp 0x44e3b2
mov dword [esp + 0x30], 1
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp ecx, eax
je 0x45025a
cmp dword [esp + 0x50], eax
jne 0x44e3d6
mov edx, dword [esp + 0x48]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x50]
sub edx, dword [esp + 0x30]
mov dword [esp + 0x44], ecx
neg edx
sbb edx, edx
and edx, 0x200
mov dword [esp + 0x70], edx
mov dl, byte [edi + 1]
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], eax
cmp dl, 0x2b
jne 0x44e40f
inc edi
mov dword [esp + 0x34], 1
mov dword [esp + 0x10], edi
jmp 0x44e424
cmp dl, 0x3f
jne 0x44e422
mov eax, dword [esp + 0xcc]
inc edi
mov dword [esp + 0x10], edi
jmp 0x44e424
mov eax, esi
mov esi, dword [esp + 0x18]
mov dl, byte [esi]
mov dword [esp + 0x1c], eax
cmp dl, 0x1c
je 0x44ea29
cmp dl, 0x1d
je 0x44ea29
cmp dl, 0x1e
jne 0x44e492
cmp dword [esp + 0x34], 0
movzx eax, byte [esi + 1]
mov dword [esp + 0x24], 0xd
mov dword [esp + 0x14], eax
jne 0x44eae2
cmp dword [esp + 0x30], 0
jge 0x44eae2
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
push ebp
push ecx
inc edi
push edi
push 0
push edx
push eax
push 0x1e
call fcn.0043f872
add esp, 0x1c
test eax, eax
je 0x44eade
jmp 0x44eace
cmp dl, 0x17
jae 0x44e4d0
cmp dword [esp + 0x34], 0
movzx ecx, dl
mov dword [esp + 0x24], 0x1a
mov dword [esp + 0x14], ecx
jne 0x44eae2
cmp dword [esp + 0x30], 0
jge 0x44eae2
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
push ebp
push edx
inc edi
push edi
push 0
push eax
push 0
push ecx
jmp 0x44e47d
cmp dl, 0x4e
je 0x44e994
cmp dl, 0x4f
je 0x44e994
cmp dl, 0x50
je 0x44e994
cmp dl, 0x51
je 0x44e994
cmp dl, 0x5e
je 0x44e534
cmp dl, 0x5f
je 0x44e534
cmp dl, 0x5d
je 0x44e534
cmp dl, 0x60
je 0x44e534
cmp dl, 0x6f
je 0x44edff
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0xb
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov eax, ebx
sub eax, dword [esp + 0x18]
mov dword [esp + 0x64], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], 0
cmp dl, 0x60
jne 0x44e561
mov edx, dword [esp + 0x18]
cmp byte [edx + 3], 0x68
je 0x45027d
cmp dword [esp + 0x30], 0xffffffff
jne 0x44e590
mov eax, dword [esp + 0x18]
jmp 0x44e574
movzx edx, byte [eax + 1]
movzx esi, byte [eax + 2]
shl edx, 8
or edx, esi
add eax, edx
cmp byte [eax], 0x55
jne 0x44e574
mov edx, ebx
sub edx, eax
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x44e688
mov edi, 1
cmp dword [esp + 0x30], edi
mov byte [ebx], al
jg 0x44e616
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x18]
push eax
push ebp
push ecx
push edi
push edx
call fcn.004401b6
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
push ecx
lea esi, [eax + 1]
push eax
push esi
call fcn.004160d0
add esp, 0x20
add ebx, edi
cmp dword [esp + 0x30], 0
jne 0x44e5ea
mov edx, dword [esp + 0x18]
mov byte [edx], 0x72
jmp 0x44edfb
mov al, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x114]
add al, 0x69
sub dword [esp + 0x30], edi
mov byte [ecx], al
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x30]
jmp 0x44e78e
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
push edx
push ebp
push eax
push 4
push ecx
call fcn.004401b6
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
push edx
push eax
add eax, 4
push eax
call fcn.004160d0
mov cl, byte [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x134]
add cl, 0x69
mov byte [eax], cl
add eax, edi
mov byte [eax], 0x5e
add eax, edi
mov byte [eax], 0
mov byte [eax + 1], 0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x40], eax
add eax, 2
add esp, 0x20
add ebx, 4
sub dword [esp + 0x30], edi
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x18], eax
jmp 0x44e78e
cmp eax, 1
mov edx, dword [esp + 0x114]
jle 0x44e77e
test edx, edx
je 0x44e6e9
mov eax, dword [esp + 0x50]
dec eax
mov dword [esp + 0x58], eax
imul eax, dword [esp + 0x6c]
fild dword [esp + 0x58]
fimul dword [esp + 0x6c]
mov dword [esp + 0x2c], eax
fcomp qword [0x48b550]
fnstsw ax
test ah, 0x41
je 0x45015f
mov eax, dword [edx]
mov esi, 0x7fffffeb
sub esi, eax
mov eax, esi
mov esi, dword [esp + 0x2c]
cmp eax, esi
jl 0x45015f
mov eax, dword [edx]
add esi, eax
mov dword [edx], esi
jmp 0x44e77e
cmp dword [esp + 0xac], 0
je 0x44e702
cmp dword [esp + 0x54], 0
jge 0x44e702
mov eax, dword [esp + 0x38]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x50], 1
jle 0x44e77e
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x68]
dec ecx
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0x24]
push edx
push eax
push ebx
call fcn.00410d20
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp edi, esi
jae 0x44e760
movzx ecx, byte [edi]
movzx edx, byte [edi + 1]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0x24]
add ecx, eax
sar ecx, 8
mov byte [edx], cl
mov cl, byte [edi + 1]
mov edx, dword [ebp + 0x24]
add cl, al
mov byte [edx + 1], cl
add dword [ebp + 0x24], 2
add edi, 2
cmp edi, esi
jb 0x44e734
mov edi, esi
add ebx, eax
sub dword [esp + 0x2c], 1
mov dword [esp + 0x68], edi
jne 0x44e716
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x114]
mov esi, dword [esp + 0x30]
test esi, esi
jle 0x44e790
sub esi, dword [esp + 0x50]
mov dword [esp + 0x30], esi
test esi, esi
jl 0x44e912
test edx, edx
je 0x44e7ee
test esi, esi
jle 0x44e7ee
mov eax, dword [esp + 0x6c]
add eax, 7
mov dword [esp + 0x58], eax
imul eax, esi
fild dword [esp + 0x58]
fimul dword [esp + 0x30]
sub eax, 6
mov dword [esp + 0x2c], eax
fcomp qword [0x48b550]
fnstsw ax
test ah, 0x41
je 0x4500c0
mov eax, dword [edx]
mov esi, 0x7fffffeb
sub esi, eax
mov eax, esi
mov esi, dword [esp + 0x2c]
cmp eax, esi
jl 0x4500c0
mov eax, dword [edx]
add esi, eax
mov dword [edx], esi
jmp 0x44e8c5
add esi, 0xffffffff
js 0x44e8c5
mov al, byte [esp + 0x1c]
add al, 0x69
mov byte [esp + 0x77], al
lea ecx, [ecx]
mov eax, dword [ebp + 0x24]
mov cl, byte [esp + 0x77]
mov byte [ebx], cl
inc ebx
mov dword [esp + 0x24], eax
test esi, esi
je 0x44e83b
mov ecx, dword [esp + 0x20]
mov byte [ebx], 0x5e
inc ebx
test ecx, ecx
jne 0x44e826
xor eax, eax
jmp 0x44e82a
mov eax, ebx
sub eax, ecx
mov edx, eax
sar edx, 8
mov dword [esp + 0x20], ebx
mov byte [ebx], dl
mov byte [ebx + 1], al
add ebx, 2
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push ebx
call fcn.00410d20
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
add esp, 0xc
cmp edi, edx
jae 0x44e8a6
movzx edx, byte [edi]
movzx ecx, byte [edi + 1]
mov eax, esi
neg eax
sbb eax, eax
and eax, 3
shl edx, 8
inc eax
or edx, ecx
mov ecx, dword [esp + 0x28]
add edx, eax
mov eax, dword [ebp + 0x24]
add edx, ecx
sar edx, 8
mov byte [eax], dl
mov dl, byte [edi + 1]
mov eax, esi
neg eax
sbb eax, eax
and eax, 3
inc eax
add dl, al
mov eax, dword [ebp + 0x24]
add dl, cl
mov byte [eax + 1], dl
add dword [ebp + 0x24], 2
add edi, 2
cmp edi, dword [esp + 0x24]
jb 0x44e85a
jmp 0x44e8aa
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
add ebx, ecx
sub esi, 1
mov dword [esp + 0x68], edx
jns 0x44e804
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x20]
test edx, edx
je 0x44eceb
lea ecx, [ecx]
mov eax, ebx
sub eax, edx
inc eax
mov edi, ebx
sub edi, eax
movzx ecx, byte [edi + 1]
movzx esi, byte [edi + 2]
shl ecx, 8
or ecx, esi
jne 0x44e8f0
xor edx, edx
jmp 0x44e8f2
sub edx, ecx
mov byte [ebx], 0x55
inc ebx
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov byte [ebx + 1], al
add ebx, 2
mov byte [edi + 1], cl
mov byte [edi + 2], al
test edx, edx
jne 0x44e8d4
jmp 0x44ece3
mov edi, ebx
sub edi, dword [esp + 0x64]
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov esi, edi
sub esi, eax
mov al, byte [esp + 0x1c]
add al, 0x56
cmp dword [esp + 0x114], 0
mov byte [edi], al
jne 0x44ece3
cmp byte [esi], 0x5d
je 0x44ece3
mov dword [esp + 0x20], esi
jmp 0x44e954
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
push edx
push edi
push eax
call fcn.00440255
add esp, 0xc
test eax, eax
jne 0x44e98c
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
mov dword [esp + 0x20], eax
je 0x44e954
jmp 0x44ece3
add byte [esi], 3
jmp 0x44ece3
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x44e9be
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x70]
or dword [ebp + 0x4c], ecx
mov ebx, esi
mov esi, dword [esp + 0xa8]
inc edi
jmp 0x44d0f6
cmp dword [esp + 0x50], 0
jne 0x44e9d3
cmp ecx, 0xffffffff
jne 0x44e9e8
add al, 0x46
mov byte [ebx], al
jmp 0x44ece2
cmp dword [esp + 0x50], 1
jne 0x44e9f6
cmp ecx, 0xffffffff
jne 0x44e9f6
add al, 0x48
mov byte [ebx], al
jmp 0x44ece2
cmp ecx, 1
jne 0x44e9f6
add al, 0x4a
mov byte [ebx], al
jmp 0x44ece2
add al, 0x4c
mov byte [ebx], al
mov eax, dword [esp + 0x50]
inc ebx
mov edx, eax
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], al
add ebx, 2
cmp ecx, 0xffffffff
jne 0x44ea17
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
add ebx, 2
jmp 0x44ece3
cmp dword [esp + 0x3c], 0
je 0x44ea76
test byte [ebx - 1], 0x80
lea ecx, [ebx - 1]
je 0x44ea76
mov dl, byte [ecx]
and dl, 0xc0
cmp dl, 0x80
jne 0x44ea4e
nop
mov al, byte [ecx - 1]
dec ecx
and al, 0xc0
cmp al, 0x80
je 0x44ea44
mov eax, ebx
sub eax, ecx
push eax
push ecx
lea ecx, [esp + 0xcc]
push ecx
mov dword [esp + 0x20], eax
call fcn.00410d20
mov edi, dword [esp + 0x1c]
add esp, 0xc
or dword [esp + 0x14], 0x80
jmp 0x44ea92
cmp dword [esp + 0x50], 1
movzx ecx, byte [ebx - 1]
mov dword [esp + 0x14], ecx
jle 0x44ea92
mov eax, dword [ebp + 0x4c]
or eax, ecx
or eax, dword [esp + 0x78]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x34], 0
jne 0x44eae2
cmp dword [esp + 0x30], 0
jge 0x44eae2
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push ebp
push edx
mov edx, dword [esp + 0x1c]
inc edi
push edi
lea eax, [esp + 0xd0]
push eax
mov eax, dword [esp + 0x28]
push ecx
movzx ecx, byte [eax]
push edx
push ecx
call fcn.0043f872
add esp, 0x1c
test eax, eax
je 0x44eade
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], 0
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov al, byte [ecx]
cmp al, 0x10
je 0x44eafb
cmp al, 0xf
je 0x44eafb
mov eax, 0xffffffff
mov dword [esp + 0x20], eax
jmp 0x44eb07
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
mov dword [esp + 0x20], edx
cmp dword [esp + 0x30], 0
mov esi, ebx
mov dword [esp + 0x28], eax
mov ebx, ecx
je 0x44edff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
add eax, ecx
mov dword [esp + 0x1c], eax
test edx, edx
jne 0x44eb67
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
cmp ecx, 0xffffffff
jne 0x44eb47
add al, 0x1f
mov byte [ebx], al
inc ebx
jmp 0x44ecae
cmp ecx, 1
jne 0x44eb56
add al, 0x23
mov byte [ebx], al
inc ebx
jmp 0x44ecae
add al, 0x25
mov byte [ebx], al
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
jmp 0x44eca8
cmp edx, 1
jne 0x44ebaf
mov ecx, dword [esp + 0x30]
cmp ecx, 0xffffffff
jne 0x44eb83
mov ebx, dword [esp + 0x18]
add al, 0x21
mov byte [ebx], al
inc ebx
jmp 0x44ecae
mov ebx, esi
cmp ecx, 1
je 0x44edff
mov al, byte [esp + 0x1c]
add al, 0x25
mov byte [esi], al
mov eax, dword [esp + 0x30]
lea ecx, [eax - 1]
sar ecx, 8
lea ebx, [esi + 1]
dec al
mov byte [ebx], cl
mov byte [ebx + 1], al
jmp 0x44ecab
mov ebx, dword [esp + 0x18]
add cl, 0x27
mov byte [ebx], cl
inc ebx
mov ecx, edx
sar ecx, 8
mov byte [ebx], cl
mov byte [ebx + 1], dl
add ebx, 2
cmp dword [esp + 0x30], 0
jge 0x44ec2a
cmp dword [esp + 0x3c], 0
je 0x44ec07
cmp dword [esp + 0x14], 0x80
jl 0x44ec07
mov esi, dword [esp + 0x14]
and esi, 7
push esi
lea edx, [esp + 0xc8]
push edx
push ebx
call fcn.00410d20
mov eax, dword [esp + 0x28]
add ebx, esi
add al, 0x1f
add esp, 0xc
mov byte [ebx], al
inc ebx
jmp 0x44ecae
mov cl, byte [esp + 0x14]
mov byte [ebx], cl
mov ecx, dword [esp + 0x20]
inc ebx
test ecx, ecx
jl 0x44ec20
mov dl, byte [esp + 0x28]
mov byte [ebx], cl
inc ebx
mov byte [ebx], dl
inc ebx
add al, 0x1f
mov byte [ebx], al
inc ebx
jmp 0x44ecae
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x30], ecx
je 0x44ecae
cmp dword [esp + 0x3c], 0
je 0x44ec66
cmp dword [esp + 0x14], 0x80
jl 0x44ec66
mov esi, dword [esp + 0x14]
and esi, 7
push esi
lea edx, [esp + 0xc8]
push edx
push ebx
call fcn.00410d20
mov eax, dword [esp + 0x28]
add esp, 0xc
add ebx, esi
jmp 0x44ec6d
mov cl, byte [esp + 0x14]
mov byte [ebx], cl
inc ebx
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x30]
jl 0x44ec88
movzx edx, byte [esp + 0x20]
mov byte [ebx], dl
movzx edx, byte [esp + 0x28]
inc ebx
mov byte [ebx], dl
inc ebx
sub ecx, dword [esp + 0x50]
mov dword [esp + 0x30], ecx
cmp ecx, 1
jne 0x44ec9c
add al, 0x23
mov byte [ebx], al
inc ebx
jmp 0x44ecae
add al, 0x25
mov byte [ebx], al
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
add ebx, 2
cmp dword [esp + 0x3c], 0
je 0x44ecdc
cmp dword [esp + 0x14], 0x80
jl 0x44ecdc
mov esi, dword [esp + 0x14]
and esi, 7
push esi
lea ecx, [esp + 0xc8]
push ecx
push ebx
call fcn.00410d20
add esp, 0xc
add ebx, esi
jmp 0x44ece3
mov dl, byte [esp + 0x14]
mov byte [ebx], dl
inc ebx
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
cmp dword [esp + 0x34], 0
je 0x44edff
mov al, byte [ecx]
cmp al, 0x41
jne 0x44ed1a
mov al, byte [ecx + 3]
cmp al, 0x10
je 0x44ed0f
cmp al, 0xf
je 0x44ed0f
xor eax, eax
lea ecx, [ecx + eax + 4]
jmp 0x44ed4f
mov eax, 2
lea ecx, [ecx + eax + 4]
jmp 0x44ed4f
cmp al, 0x27
je 0x44ed22
cmp al, 0x34
jne 0x44ed53
movzx eax, al
movzx edx, byte [eax + 0x484998]
add ecx, edx
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x44], ecx
je 0x44ed53
mov al, byte [ecx - 1]
cmp al, 0xc0
jb 0x44ed53
movzx eax, al
and eax, 0x3f
movzx edx, byte [eax + 0x484a58]
add ecx, edx
mov dword [esp + 0x44], ecx
mov eax, ebx
sub eax, ecx
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x44edff
movzx eax, byte [ecx]
add eax, 0xffffffe1
cmp eax, 0x20
ja case.0x44ed75.32
movzx eax, byte [eax + 0x4506c8]
jmp dword [eax*4 + 0x450694]
mov byte [ecx], 0x28
jmp 0x44edfb
mov byte [ecx], 0x29
jmp 0x44edfb
mov byte [ecx], 0x2a
jmp 0x44edfb
mov byte [ecx], 0x2b
jmp 0x44edfb
mov byte [ecx], 0x42
jmp 0x44edfb
mov byte [ecx], 0x43
jmp 0x44edfb
mov byte [ecx], 0x44
jmp 0x44edfb
mov byte [ecx], 0x45
jmp 0x44edfb
mov byte [ecx], 0x35
jmp 0x44edfb
mov byte [ecx], 0x36
jmp 0x44edfb
mov byte [ecx], 0x37
jmp 0x44edfb
mov byte [ecx], 0x38
jmp 0x44edfb
mov edx, dword [esp + 0x2c]
push edx
push ecx
add ecx, 3
push ecx
call fcn.004160d0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x38]
mov byte [eax], 0x5d
mov byte [ebx + 3], 0x55
add ecx, 3
add ebx, 3
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
mov edx, dword [esp + 0x50]
mov byte [edx + 1], al
mov eax, dword [esp + 0x50]
add esp, 0xc
add ebx, 2
mov byte [eax + 2], cl
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
or dword [ebp + 0x4c], ecx
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], 0
inc edi
jmp 0x44d0f6
mov eax, dword [ebp + 0x24]
mov esi, dword [esp + 0x40]
inc edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x10], edi
mov al, byte [edi]
mov dword [esp + 0x58], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], 0x5f
mov dword [esp + 0x64], edx
cmp al, 0x2a
jne 0x44ef56
movzx edx, byte [edi + 1]
mov ecx, dword [ebp + 0xc]
test byte [edx + ecx], 2
je 0x44ef54
inc edi
mov edx, edi
mov esi, str.ACCEPT
mov dword [esp + 0x70], edx
mov dword [esp + 0x18], 0
inc edi
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
test byte [eax + ecx], 2
jne 0x44ee76
mov al, byte [edi]
cmp al, 0x3a
je 0x4502a0
cmp al, 0x29
jne 0x4502c3
sub edi, edx
mov eax, edi
mov dword [esp + 0x58], eax
xor edi, edi
lea esp, [esp]
cmp eax, dword [edi*8 + 0x4855c0]
jne 0x44eec4
push eax
push esi
push edx
call fcn.00416435
add esp, 0xc
test eax, eax
je 0x44eefc
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x58]
mov ecx, dword [edi*8 + 0x4855c0]
inc edi
cmp edi, 7
lea esi, [esi + ecx + 1]
jl 0x44eea4
mov edx, dword [esp + 0x100]
mov dword [edx], 0x3c
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
cmp dword [edi*8 + 0x4855c4], 0x70
jne 0x44ef2c
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x50], 1
test eax, eax
je 0x44ef2c
mov byte [ebx], 0x71
mov dl, byte [eax + 5]
inc ebx
mov byte [ebx], dl
mov cl, byte [eax + 4]
mov byte [ebx + 1], cl
mov eax, dword [eax]
add ebx, 2
test eax, eax
jne 0x44ef14
mov dl, byte [edi*8 + 0x4855c4]
mov byte [ebx], dl
inc ebx
cmp edi, 7
jge 0x44eed5
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
inc edi
jmp 0x44d0f6
xor edx, edx
cmp al, 0x3f
jne 0x44f6a6
mov esi, 1
add edi, esi
mov dword [esp + 0x10], edi
mov al, byte [edi]
movzx ecx, al
add ecx, 0xffffffdf
cmp ecx, 0x5b
ja case.0x44ef81.34
movzx ecx, byte [ecx + 0x450728]
jmp dword [ecx*4 + 0x4506ec]
add edi, esi
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
je 0x44efa4
cmp al, 0x29
je 0x44efc7
add edi, esi
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
jne 0x44ef94
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x12
xor eax, eax
pop ebx
add esp, 0xe0
ret
cmp byte [edi], 0
je 0x44efa4
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
inc edi
jmp 0x44d0f6
mov dword [esp + 0x64], esi
add edi, esi
mov dword [esp + 0x14], 0x5e
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
cmp byte [edi + 1], 0x3f
mov dword [esp + 0x14], 0x60
jne 0x44f027
mov al, byte [edi + 2]
cmp al, 0x3d
je 0x44fa40
cmp al, 0x21
je 0x44fa40
cmp al, 0x3c
je 0x44fa40
mov byte [ebx + 3], 0x64
mov edi, dword [esp + 0x10]
mov al, byte [edi + 1]
mov dword [esp + 0x20], 3
mov dword [esp + 0x24], 0xffffffff
cmp al, 0x52
jne 0x44f064
cmp byte [edi + 2], 0x26
lea ecx, [edi + 2]
jne 0x44f064
mov dword [esp + 0x10], ecx
or edx, 0xffffffff
mov byte [ebx + 3], 0x66
mov edi, dword [esp + 0x10]
mov dword [esp + 0x34], edx
jmp 0x44f0a6
cmp al, 0x3c
jne 0x44f078
mov edx, 0x3e
inc edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], edi
jmp 0x44f0a6
cmp al, 0x27
jne 0x44f08c
mov edx, 0x27
inc edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], edi
jmp 0x44f0a6
xor edx, edx
mov dword [esp + 0x34], edx
cmp al, 0x2d
je 0x44f09a
cmp al, 0x2b
jne 0x44f0a6
inc edi
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
mov dword [esp + 0x24], eax
movzx ecx, byte [edi + 1]
mov esi, dword [ebp + 0xc]
inc edi
test byte [ecx + esi], 0x10
je 0x4502e6
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
xor eax, eax
test byte [esi + ecx], 0x10
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], edi
je 0x44f0ff
jmp 0x44f0d4
test eax, eax
jl 0x44f0ed
test byte [ecx + 0x486078], 4
je 0x44f0ea
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
jmp 0x44f0ed
or eax, 0xffffffff
inc edi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
test byte [ecx + esi], 0x10
jne 0x44f0d4
mov dword [esp + 0x1c], eax
mov esi, edi
sub esi, dword [esp + 0x28]
test edx, edx
jle 0x44f11b
movzx ecx, byte [edi]
inc edi
mov dword [esp + 0x10], edi
cmp ecx, dword [esp + 0x34]
jne 0x450309
mov dl, byte [edi]
inc edi
mov dword [esp + 0x10], edi
cmp dl, 0x29
jne 0x450309
cmp dword [esp + 0x114], 0
jne 0x44fa40
mov ecx, dword [esp + 0x24]
xor edx, edx
cmp ecx, edx
jle 0x44f184
cmp eax, edx
jle 0x45032d
cmp ecx, 0x2d
jne 0x44f15a
mov ecx, dword [ebp + 0x34]
sub ecx, eax
inc ecx
mov eax, ecx
jmp 0x44f15d
add eax, dword [ebp + 0x34]
cmp eax, edx
jle 0x44fcbd
cmp eax, dword [ebp + 0x38]
jg 0x44fcbd
mov edx, eax
sar edx, 8
mov byte [ebx + 4], dl
mov byte [ebx + 5], al
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
cmp dword [ebp + 0x2c], edx
mov edi, dword [ebp + 0x28]
mov dword [esp + 0x18], edx
jle 0x44f1bb
lea esp, [esp]
mov ecx, dword [esp + 0x28]
push esi
lea eax, [edi + 2]
push eax
push ecx
call fcn.00416435
add esp, 0xc
test eax, eax
je 0x44f1bb
mov eax, dword [esp + 0x18]
add edi, dword [ebp + 0x30]
inc eax
cmp eax, dword [ebp + 0x2c]
mov dword [esp + 0x18], eax
jl 0x44f194
mov edx, dword [esp + 0x18]
cmp edx, dword [ebp + 0x2c]
jge 0x44f1e9
movzx eax, byte [edi]
movzx ecx, byte [edi + 1]
inc byte [ebx + 3]
shl eax, 8
or eax, ecx
mov edx, eax
sar edx, 8
mov byte [ebx + 4], dl
mov byte [ebx + 5], al
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
mov edi, dword [esp + 0x28]
xor eax, eax
cmp dword [esp + 0x2c], eax
setne al
push eax
push esi
push edi
push ebp
call fcn.004404d5
add esp, 0x10
test eax, eax
jle 0x44f21f
inc byte [ebx + 3]
mov ecx, eax
sar ecx, 8
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
cmp dword [esp + 0x34], 0
jne 0x450350
cmp byte [edi], 0x52
jne 0x44f278
xor eax, eax
lea ecx, [eax + 1]
cmp esi, ecx
jle 0x44f259
movzx edx, byte [ecx + edi]
test byte [edx + 0x486078], 4
je 0x450362
inc ecx
cmp ecx, esi
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0x30]
jl 0x44f238
test eax, eax
jne 0x44f25e
mov eax, 0xffff
mov ecx, eax
sar ecx, 8
mov byte [ebx + 3], 0x66
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
cmp esi, 6
jne 0x44f2a7
push esi
push str.DEFINE
push edi
call fcn.00416435
add esp, 0xc
test eax, eax
jne 0x44f2a7
mov byte [ebx + 3], 0x68
mov dword [esp + 0x20], 1
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x450374
cmp eax, dword [ebp + 0x38]
jg 0x450374
mov edx, eax
sar edx, 8
mov byte [ebx + 4], dl
mov byte [ebx + 5], al
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
mov dword [esp + 0x14], 0x58
add edi, esi
jmp 0x44f364
add edi, esi
mov dword [esp + 0x10], edi
cmp byte [edi], 0x29
jne 0x44f30e
mov eax, dword [esp + 0x7c]
mov byte [ebx], 0x6f
mov edi, dword [esp + 0x10]
add ebx, esi
mov esi, dword [esp + 0xa8]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x60]
inc edi
jmp 0x44d0f6
mov dword [esp + 0x14], 0x59
jmp 0x44f368
mov cl, byte [edi + 1]
cmp cl, 0x21
je 0x44f359
cmp cl, 0x3d
je 0x44f34f
mov esi, dword [ebp + 0xc]
movzx ecx, cl
test byte [ecx + esi], 0x10
je 0x45038c
mov esi, 1
cmp al, 0x3c
jne 0x44f4b3
mov dword [esp + 0x34], 0x3e
jmp 0x44f4bb
mov dword [esp + 0x14], 0x5a
jmp 0x44f361
mov dword [esp + 0x14], 0x5b
add edi, 2
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x14]
mov byte [ebx], cl
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x114]
neg eax
sbb eax, eax
lea esi, [esp + 0x6c]
and eax, esi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x6c], edx
cmp ecx, 0x5a
je 0x44fa4b
cmp ecx, 0x5b
je 0x44fa4b
xor ecx, ecx
jmp 0x44fa50
add edi, esi
mov dword [esp + 0x14], 0x5d
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
mov byte [ebx], 0x53
mov edi, dword [esp + 0x10]
add edi, esi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
mov dword [esp + 0x60], ebx
add ebx, esi
xor eax, eax
test byte [ecx + 0x486078], 4
mov dword [esp + 0xb4], esi
je 0x44f402
add edi, esi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
test byte [ecx + 0x486078], 4
jne 0x44f3e9
cmp byte [edi], 0x29
jne 0x4503b0
cmp eax, 0xff
jg 0x4503d3
mov byte [ebx], al
mov ecx, dword [esp + 0x10]
sub ecx, dword [ebp + 0x18]
add ebx, esi
add ecx, esi
mov esi, dword [esp + 0xa8]
sar ecx, 8
mov byte [ebx], cl
mov al, byte [esp + 0x10]
sub al, byte [ebp + 0x18]
mov byte [ebx + 2], 0
inc al
mov byte [ebx + 1], al
mov eax, dword [esp + 0x7c]
mov byte [ebx + 3], 0
mov edi, dword [esp + 0x10]
add ebx, 4
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x60]
inc edi
jmp 0x44d0f6
add edi, esi
mov dword [esp + 0x10], edi
mov al, byte [edi]
cmp al, 0x3d
je 0x44f4a5
cmp al, 0x3e
je 0x44f497
cmp al, 0x3c
je 0x44f342
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x29
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov dword [esp + 0x20], esi
mov edx, 0x29
jmp 0x44fd40
mov dword [esp + 0x20], edx
mov edx, 0x29
jmp 0x44fd40
mov dword [esp + 0x34], 0x27
add edi, esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
test byte [eax + esi], 0x10
mov ecx, edi
mov dword [esp + 0x28], ecx
je 0x44f4e3
mov eax, esi
inc edi
mov dword [esp + 0x10], edi
movzx esi, byte [edi]
test byte [esi + eax], 0x10
jne 0x44f4d5
mov eax, edi
sub eax, ecx
mov dword [esp + 0x20], eax
cmp dword [esp + 0x114], edx
je 0x44f549
movzx ecx, byte [edi]
cmp ecx, dword [esp + 0x34]
jne 0x4503f6
cmp dword [ebp + 0x2c], 0x2710
jge 0x450419
lea ecx, [eax + 3]
cmp ecx, dword [ebp + 0x30]
jle 0x44f65b
cmp eax, 0x20
mov dword [ebp + 0x30], ecx
jle 0x44f65b
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x30
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov esi, dword [ebp + 0x28]
xor eax, eax
cmp dword [ebp + 0x2c], eax
mov dword [esp + 0x2c], eax
jle 0x44f5ed
mov edi, eax
lea esp, [esp]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
push edx
lea eax, [esi + 2]
push eax
push ecx
call fcn.00411913
add esp, 0xc
test eax, eax
jne 0x44f5b6
mov edx, dword [esp + 0x20]
cmp byte [esi + edx + 2], al
jne 0x44f5c9
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0x34]
mov eax, 1
add edx, eax
cmp ecx, edx
je 0x44f5b0
test dword [esp + 0x40], 0x80000
je 0x45043c
mov dword [esp + 0x2c], eax
jmp 0x44f5bd
jl 0x44f5c9
mov eax, 1
add esi, dword [ebp + 0x30]
add edi, eax
cmp edi, dword [ebp + 0x2c]
jl 0x44f564
jmp 0x44f5e2
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x30]
sub ecx, edi
imul ecx, eax
push ecx
lea edx, [esi + eax]
push esi
push edx
call fcn.004160d0
add esp, 0xc
cmp dword [esp + 0x2c], 0
jne 0x44f62b
mov edi, dword [esp + 0x10]
mov eax, dword [ebp + 0x28]
xor ecx, ecx
cmp dword [ebp + 0x2c], ecx
mov dword [esp + 0x18], ecx
jle 0x44f62b
cmp eax, esi
je 0x44f61d
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
or ecx, edx
mov edx, dword [ebp + 0x34]
inc edx
cmp ecx, edx
je 0x45044e
mov ecx, dword [esp + 0x18]
jmp 0x44f61e
dec ecx
add eax, dword [ebp + 0x30]
inc ecx
cmp ecx, dword [ebp + 0x2c]
mov dword [esp + 0x18], ecx
jl 0x44f5fb
mov eax, dword [ebp + 0x34]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
inc eax
sar eax, 8
mov byte [esi], al
mov cl, byte [ebp + 0x34]
push edi
push edx
lea eax, [esi + 2]
inc cl
push eax
mov byte [esi + 1], cl
call fcn.00410d20
mov byte [esi + edi + 2], 0
mov edi, dword [esp + 0x1c]
add esp, 0xc
inc dword [ebp + 0x2c]
inc edi
mov dword [esp + 0x10], edi
inc dword [ebp + 0x34]
mov ecx, dword [ebp + 0x34]
sar ecx, 8
mov byte [ebx + 3], cl
mov dl, byte [ebp + 0x34]
mov byte [ebx + 4], dl
mov dword [esp + 0x20], 2
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
mov edx, 0x29
mov dword [esp + 0x20], esi
jmp 0x44fd40
add edi, esi
mov dword [esp + 0x10], edi
mov edx, 0x29
jmp 0x44f895
test esi, 0x1000
je 0x44f663
mov dword [esp + 0x14], 0x5e
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0x34]
mov esi, dword [esp + 0x100]
push 0
push eax
push ecx
lea edx, [esp + 0x1c]
push esi
push edx
mov dword [esp + 0xb8], edi
call fcn.00432632
add esp, 0x14
cmp dword [esi], 0
jne 0x44eee2
xor esi, esi
cmp eax, esi
jge 0x450010
mov ecx, eax
neg ecx
cmp ecx, 0x1a
jne 0x44f749
mov edi, dword [esp + 0x10]
cmp byte [edi + 1], 0x5c
jne 0x44f72c
cmp byte [edi + 2], 0x45
jne 0x44f72c
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
add edi, 2
inc edi
jmp 0x44d0f6
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x5c], 1
inc edi
jmp 0x44d0f6
cmp ecx, 0x19
je 0x450084
mov edx, dword [esp + 0x38]
cmp edx, 0xfffffffe
jne 0x44f76c
cmp ecx, 5
jle 0x44f76c
cmp ecx, 0x17
jge 0x44f76c
or edx, 0xffffffff
mov dword [esp + 0x38], edx
mov edi, dword [esp + 0x10]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
cmp ecx, 0x1b
jne 0x44fcfd
mov eax, dword [ebp + 0x24]
inc edi
xor edx, edx
mov dword [esp + 0x10], edi
cmp byte [edi], 0x3c
mov cl, byte [edi + 1]
setne dl
mov dword [esp + 0x68], eax
lea eax, [edi + 1]
mov dword [esp + 0x20], esi
mov dword [esp + 0x64], esi
dec edx
and edx, 0x17
add edx, 0x27
cmp cl, 0x2b
je 0x44f848
cmp cl, 0x2d
je 0x44f848
mov esi, eax
mov cl, byte [esi]
mov dword [esp + 0x34], 1
mov dword [esp + 0x24], eax
test cl, cl
je 0x44f80b
movzx ecx, cl
mov dword [esp + 0x70], ecx
cmp ecx, edx
je 0x44f80b
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x70]
mov cl, byte [esi + ecx]
test cl, 4
jne 0x44f7f6
mov dword [esp + 0x34], 0
mov esi, dword [esp + 0x24]
test cl, 0x10
je 0x44f80b
mov cl, byte [esi + 1]
inc esi
mov dword [esp + 0x24], esi
test cl, cl
jne 0x44f7d4
movzx ecx, byte [esi]
cmp ecx, edx
je 0x44f834
mov edx, dword [esp + 0x100]
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
mov dword [edx], 0x39
mov edx, dword [esp + 0x60]
inc edi
jmp 0x44d0f6
cmp dword [esp + 0x34], 0
jne 0x44f88f
mov dword [esp + 0x20], 1
jmp 0x44fd40
movzx esi, byte [edi + 2]
test byte [esi + 0x486078], 4
lea ecx, [edi + 2]
je 0x44f866
movzx esi, byte [ecx + 1]
inc ecx
test byte [esi + 0x486078], 4
jne 0x44f858
movzx ecx, byte [ecx]
cmp ecx, edx
je 0x44f88f
mov edx, dword [esp + 0x100]
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
mov dword [edx], 0x39
mov edx, dword [esp + 0x60]
inc edi
jmp 0x44d0f6
mov edi, eax
mov dword [esp + 0x10], edi
mov al, byte [edi]
movzx esi, al
cmp esi, 0x2b
jne 0x44f8d7
inc edi
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
test byte [eax + 0x486078], 4
jne 0x44fc65
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x3f
xor eax, eax
pop ebx
add esp, 0xe0
ret
cmp esi, 0x2d
jne 0x44fc65
movzx ecx, byte [edi + 1]
test byte [ecx + 0x486078], 4
jne 0x44fc60
xor esi, esi
xor edx, edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x2c]
cmp al, 0x29
je 0x44f96a
cmp al, 0x3a
je 0x44f962
movzx eax, al
inc edi
sub eax, 0x2d
mov dword [esp + 0x10], edi
cmp eax, 0x4b
ja case.0x44f924.46
movzx edx, byte [eax + 0x4507a8]
jmp dword [edx*4 + 0x450784]
lea ecx, [esp + 0x24]
jmp 0x44f95c
or dword [ecx], 0x80000
or dword [ebp + 0x48], 0x10
jmp 0x44f95c
or dword [ecx], 1
jmp 0x44f95c
or dword [ecx], 2
jmp 0x44f95c
or dword [ecx], 4
jmp 0x44f95c
or dword [ecx], 8
jmp 0x44f95c
or dword [ecx], 0x200
jmp 0x44f95c
or dword [ecx], 0x40
mov al, byte [edi]
cmp al, 0x29
jne 0x44f905
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
or edx, ecx
not esi
and edx, esi
cmp byte [edi], 0x29
mov eax, edx
mov dword [esp + 0x58], eax
jne 0x44fa33
mov edx, dword [ebp + 0x14]
add edx, 3
cmp ebx, edx
jne 0x44f9ca
mov edx, dword [esp + 0x114]
test edx, edx
je 0x44f99d
cmp dword [edx], 6
jne 0x44f9ca
mov edx, dword [esp + 0xf4]
mov esi, dword [esp + 0xa8]
mov dword [ebp + 0x44], eax
mov dword [edx], eax
mov edx, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], 0
inc edi
jmp 0x44d0f6
mov edx, eax
xor edx, ecx
test dl, 7
je 0x44f9e3
mov byte [ebx], 0x19
mov cl, al
inc ebx
and cl, 7
mov byte [ebx], cl
mov edi, dword [esp + 0x10]
inc ebx
mov edx, dword [esp + 0xf4]
mov ecx, eax
shr ecx, 9
and ecx, 1
mov dword [esp + 0xa8], ecx
mov esi, dword [esp + 0xa8]
xor ecx, 1
mov dword [esp + 0xcc], ecx
movsx ecx, al
and ecx, 1
shl ecx, 8
mov dword [edx], eax
mov edx, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x18], 0
inc edi
jmp 0x44d0f6
inc edi
mov dword [esp + 0x14], 0x5e
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ebx
xor edx, edx
jmp 0x44f36c
mov ecx, 1
mov edx, dword [esp + 0x10c]
push eax
push ebp
push edx
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x30]
lea edx, [esp + 0xc0]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x118]
push edx
push ecx
push eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x6c]
push edx
and eax, 7
push eax
push ecx
call fcn.00454481
add esp, 0x34
test eax, eax
je 0x44eee2
mov ecx, dword [esp + 0x14]
cmp ecx, 0x60
jne 0x44faf1
cmp dword [esp + 0x114], 0
jne 0x44faf1
mov eax, ebx
xor edx, edx
lea ebx, [ebx]
movzx esi, byte [eax + 1]
movzx edi, byte [eax + 2]
shl esi, 8
or esi, edi
add eax, esi
inc edx
cmp byte [eax], 0x55
jne 0x44fac4
cmp byte [ebx + 3], 0x68
jne 0x44fb75
cmp edx, 1
jg 0x450495
mov ecx, 0x68
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x10]
cmp byte [edi], 0x29
jne 0x4504b9
mov esi, dword [esp + 0x114]
test esi, esi
je 0x44fb9f
mov eax, dword [esi]
mov ecx, dword [esp + 0x6c]
mov edx, 0x7fffffeb
sub edx, eax
lea esi, [ecx - 6]
cmp edx, esi
jl 0x45015f
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
lea eax, [eax + ecx - 6]
mov ecx, dword [esp + 0x114]
mov dword [ecx], eax
mov eax, dword [esp + 0x7c]
mov byte [ebx], 0x5e
inc ebx
mov byte [ebx], 0
mov byte [ebx + 1], 3
add ebx, 2
mov byte [ebx], 0x55
inc ebx
mov byte [ebx], 0
mov byte [ebx + 1], 3
mov edi, dword [esp + 0x10]
add ebx, 2
inc edi
jmp 0x44d0f6
cmp edx, 2
jg 0x4504a7
cmp edx, 1
jne 0x44faf1
or edx, 0xffffffff
or eax, edx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xb0], eax
jmp 0x44faff
mov ebx, dword [esp + 0x44]
cmp ecx, 0x68
je 0x450088
cmp ecx, 0x5d
mov esi, dword [esp + 0x54]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x48], esi
mov dword [esp + 0xac], 0
jl 0x44fc36
cmp esi, 0xfffffffe
jne 0x44fc00
test eax, eax
jl 0x44fbee
mov dword [esp + 0x38], eax
mov dword [esp + 0xac], 1
mov dword [esp + 0x48], 0xffffffff
jmp 0x44fc15
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x48], 0xffffffff
jmp 0x44fc15
test eax, eax
jl 0x44fc15
test edx, edx
jge 0x44fc1d
or eax, dword [esp + 0x70]
mov edx, eax
mov dword [esp + 0xa0], edx
test edx, edx
jl 0x450088
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x60]
inc edi
jmp 0x44d0f6
cmp ecx, 0x58
jne 0x450088
test edx, edx
jl 0x450088
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x60]
inc edi
jmp 0x44d0f6
inc edi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
xor eax, eax
test byte [ecx + 0x486078], 4
mov dword [esp + 0x1c], eax
je 0x44fc93
inc edi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
test byte [ecx + 0x486078], 4
jne 0x44fc77
mov dword [esp + 0x1c], eax
movzx ecx, byte [edi]
cmp ecx, edx
jne 0x4504dc
cmp esi, 0x2d
jne 0x44fce0
test eax, eax
je 0x45032d
mov edx, dword [ebp + 0x34]
sub edx, eax
inc edx
mov dword [esp + 0x1c], edx
test edx, edx
jg 0x44fe21
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0xf
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
cmp esi, 0x2b
jne 0x44fe21
test eax, eax
je 0x4504ff
add eax, dword [ebp + 0x34]
mov dword [esp + 0x1c], eax
jmp 0x44fe21
cmp ecx, 0x1c
jne 0x44ff51
mov dl, byte [edi + 1]
cmp dl, 0x3c
je 0x44fd1c
cmp dl, 0x27
je 0x44fd1c
cmp dl, 0x7b
jne 0x44ff51
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
mov dword [esp + 0x20], esi
cmp al, 0x3c
jne 0x44fd32
mov edx, 0x3e
jmp 0x44fd40
xor edx, edx
cmp al, 0x27
setne dl
dec edx
and edx, 0xffffffaa
add edx, 0x7d
mov esi, dword [ebp + 0xc]
inc edi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
test byte [ecx + esi], 0x10
mov eax, edi
mov dword [esp + 0x28], eax
je 0x44fd67
mov ecx, esi
inc edi
mov dword [esp + 0x10], edi
movzx esi, byte [edi]
test byte [esi + ecx], 0x10
jne 0x44fd59
mov esi, edi
xor ecx, ecx
sub esi, eax
cmp dword [esp + 0x114], ecx
je 0x44fd9b
cmp esi, ecx
je 0x450522
movzx eax, byte [edi]
cmp eax, edx
jne 0x450545
cmp esi, 0x20
jg 0x44f526
mov dword [esp + 0x1c], ecx
jmp 0x44fe16
cmp dword [ebp + 0x2c], ecx
mov edi, dword [ebp + 0x28]
mov dword [esp + 0x18], ecx
jle 0x44fdda
jmp 0x44fdad
mov eax, dword [esp + 0x28]
push esi
lea ecx, [edi + 2]
push ecx
push eax
call fcn.00416435
add esp, 0xc
test eax, eax
jne 0x44fdc5
cmp byte [edi + esi + 2], al
je 0x44fdd6
mov eax, dword [esp + 0x18]
add edi, dword [ebp + 0x30]
inc eax
cmp eax, dword [ebp + 0x2c]
mov dword [esp + 0x18], eax
jl 0x44fda9
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
cmp edx, dword [ebp + 0x2c]
jge 0x44fdf5
movzx eax, byte [edi]
movzx ecx, byte [edi + 1]
shl eax, 8
or eax, ecx
mov dword [esp + 0x1c], eax
jmp 0x44fe16
xor ecx, ecx
cmp dword [esp + 0x2c], ecx
setne cl
push ecx
push esi
push eax
push ebp
call fcn.004404d5
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x450362
cmp dword [esp + 0x20], 0
je 0x44ff65
cmp dword [esp + 0x114], 0
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
jne 0x44fee8
cmp dword [esp + 0x1c], 0
mov byte [ebx], 0
je 0x44fe5e
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x14]
push edx
push eax
push ecx
call fcn.00431ca8
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
jne 0x44feb2
cmp dword [esp + 0x2c], eax
mov edx, dword [esp + 0x1c]
setne al
push eax
push edx
push 0
push ebp
call fcn.004404d5
add esp, 0x10
test eax, eax
jl 0x450568
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x1c]
add ecx, eax
mov edx, ebx
sub edx, eax
mov eax, dword [ebp + 0x24]
add edx, 4
mov dword [esp + 0x24], ecx
sar edx, 8
mov byte [eax], dl
mov edx, dword [ebp + 0x24]
mov cl, bl
sub cl, byte [ebp + 0x14]
add cl, 4
mov byte [edx + 1], cl
add dword [ebp + 0x24], 2
jmp 0x44fee4
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
jne 0x44fee8
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x24]
push eax
push ecx
push ebx
push edx
call fcn.004471a7
add esp, 0x10
test eax, eax
jne 0x45057a
mov eax, dword [esp + 0x24]
mov byte [ebx], 0x5d
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
mov byte [ebx + 3], 0x52
add ebx, 3
mov ecx, eax
sub ecx, dword [ebp + 0x14]
add ebx, 3
sar ecx, 8
mov byte [ebx - 2], cl
sub al, byte [ebp + 0x14]
add ebx, 3
cmp dword [esp + 0x38], 0xfffffffe
mov byte [ebx - 4], al
mov byte [ebx - 3], 0x55
mov byte [ebx - 2], 0
mov byte [ebx - 1], 6
mov edi, dword [esp + 0x10]
mov dword [esp + 0x6c], 9
jne 0x450088
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x38], 0xffffffff
inc edi
jmp 0x44d0f6
cmp ecx, 0x1d
jl 0x44ffc5
mov ecx, 0xffffffe3
sub ecx, eax
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x38], 0xfffffffe
jne 0x44ff74
mov dword [esp + 0x38], 0xffffffff
mov ecx, dword [esp + 0x1c]
mov byte [ebx], 0x51
mov dword [esp + 0x18], ebx
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], cl
add ebx, 2
cmp ecx, 0x20
mov eax, 1
jge 0x44ff99
shl eax, cl
or dword [ebp + 0x40], eax
cmp ecx, dword [ebp + 0x3c]
jle 0x450084
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov dword [ebp + 0x3c], eax
mov eax, dword [esp + 0x7c]
inc edi
jmp 0x44d0f6
cmp ecx, 0x16
je 0x45058c
cmp ecx, 0xf
je 0x45058c
cmp ecx, 0x10
je 0x45058c
cmp ecx, 5
jle 0x44ffee
cmp ecx, 0x17
mov dword [esp + 0x18], ebx
jl 0x44fff2
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
neg al
mov byte [ebx], al
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
inc ebx
inc edi
jmp 0x44d0f6
cmp dword [esp + 0x3c], esi
je 0x450033
cmp eax, 0x7f
jle 0x450033
lea ecx, [esp + 0xbc]
push ecx
push eax
call fcn.00431789
add esp, 8
mov esi, eax
jmp 0x44d50e
mov byte [esp + 0xbc], al
mov esi, 1
jmp 0x44d50e
movzx eax, cl
or eax, dword [esp + 0x78]
mov dword [esp + 0x38], eax
cmp esi, 1
je 0x450084
movzx eax, byte [ebx - 1]
or eax, dword [ebp + 0x4c]
jmp 0x450080
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
cmp esi, 1
je 0x450075
cmp dword [esp + 0x78], 0
jne 0x450084
movzx eax, byte [ebx - 1]
or eax, dword [ebp + 0x4c]
or eax, dword [esp + 0x78]
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
inc edi
jmp 0x44d0f6
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0x34
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x14
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x34
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x38]
mov dword [ecx], eax
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x54]
mov dword [ecx], eax
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xfc]
mov dword [ecx], ebx
mov dword [eax], edi
cmp dword [esp + 0x114], edx
je 0x4505b5
mov edx, dword [esp + 0x114]
mov eax, dword [edx]
mov ecx, dword [esp + 0x7c]
mov esi, ebx
mov ebp, 0x7fffffeb
sub esi, ecx
sub ebp, eax
cmp ebp, esi
jge 0x4505af
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0x14
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x40
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x100]
xor eax, eax
cmp byte [edi + 1], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
mov dword [ecx], eax
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x1f
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x100]
mov dword [eax], 0x1e
jmp 0x44eee2
mov dword [edi], 7
jmp 0x44eee2
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 8
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 6
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x100]
mov dword [ecx], 9
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x37
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x3b
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0x3c
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0x1c
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
dec edi
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x1a
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x3a
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov edx, dword [esp + 0x100]
mov dword [edx], 0xf
jmp 0x44eee2
mov eax, dword [esp + 0x100]
mov dword [eax], 0xf
jmp 0x44eee2
mov ecx, dword [esp + 0x100]
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
mov dword [ecx], eax
jmp 0x44eee2
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
inc edi
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x18
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x27
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0x26
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x2a
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0x31
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x100]
mov dword [eax], 0x2b
jmp 0x44eee2
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0x41
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
dec edi
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0xc
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0x36
jmp 0x44eee2
mov edx, dword [esp + 0x100]
mov dword [edx], 0x1b
jmp 0x44eee2
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0xe
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x1d
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x3a
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x3e
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0x2a
mov ecx, dword [esp + 0xfc]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x100]
mov dword [ecx], 0xf
jmp 0x44eee2
mov edx, dword [esp + 0x100]
mov dword [edx], 0x28
jmp 0x44eee2
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x2d
xor eax, eax
pop ebx
add esp, 0xe0
ret
sub eax, ecx
add eax, ebx
mov dword [edx], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xe0
ret