Function at 0x45e1f0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xfc
mov dword [ebp - 0xf0], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0xfc], eax
test edx, edx
je 0x45ef0e
mov eax, dword [edx + 0x10]
mov esi, dword [edx + 0xc]
sub eax, esi
cmp eax, 0x1000
jg 0x45eeb8
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x18]
call fcn.0044b410
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0xe8], 0
mov eax, dword [edx + 0xac]
inc eax
je 0x45e392
mov ecx, dword [ebp - 0xfc]
mov ebx, dword [ecx + 0x54]
test ebx, ebx
je 0x45e274
mov edi, dword [ebp - 0xfc]
cmp dword [edi + 0xd4], 1
je 0x45ef0e
mov ebx, dword [ebp - 0xfc]
mov ecx, dword [ebx + 0x24]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0
jne 0x45e2bf
cmp dword [ebx + 0x28], 1
jg 0x45e29c
jmp 0x45e2bf
mov edx, dword [ebp - 0xfc]
cmp dword [edx + 0x28], 1
jle 0x45e2bf
sub esp, 0xc
mov ecx, dword [ebp - 0xfc]
push ecx
call fcn.0044d5b0
mov eax, dword [ebp - 0xfc]
add esp, 0x10
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0
je 0x45e290
mov edx, dword [ecx]
test edx, edx
je 0x45e3a0
mov ebx, dword [ebp - 0xfc]
mov edi, dword [ebx + 0xac]
test edi, edi
je 0x45e2fd
mov eax, dword [edx + 0x14]
test eax, eax
je 0x45e2fd
sub esp, 0xc
push eax
call fcn.004d4a00
add esp, 0x10
test eax, eax
je 0x45edcf
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
sub esp, 0xc
mov eax, dword [eax + 0x10]
push eax
call fcn.004d4960
mov edx, dword [ebp - 0xfc]
mov ebx, eax
add esp, 0x10
mov ecx, dword [edx + 0x24]
mov eax, dword [ecx + 0x10]
mov edi, dword [ecx + 0xc]
sub ebx, eax
add ebx, edi
test ebx, ebx
jle 0x45e392
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi + 0xac]
lea edx, [eax + 1]
cmp edx, 0x11
ja case.default.0x45e33f
jmp dword [edx*4 + 0x52b86c]
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx + 0x10]
mov edx, ecx
mov al, byte [eax]
cmp al, 0x25
jne 0x45e37a
sub esp, 0xc
mov eax, dword [ebp - 0xfc]
push eax
call fcn.0044e900
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
mov edx, dword [ecx + 0x24]
mov eax, dword [edx + 0x10]
mov al, byte [eax]
test al, al
je 0x460058
mov ebx, dword [ebp - 0xfc]
mov dword [ebx + 0xcc], 0
mov eax, dword [ebp - 0xe8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x18]
sub eax, edx
sub ebx, eax
jmp 0x45e323
push ecx
push ecx
push str.PP:_internal_error__state__PUBLIC_LITERAL_n
mov edx, dword [0x61e0b0]
push edx
call dword [0x5190a8]
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [ecx + 0xac], 6
jmp 0x45e254
push ebx
push ebx
push str.PP:_internal_error__state__IGNORE
mov ecx, dword [0x61e0b0]
push ecx
call dword [0x5190a8]
mov edx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [edx + 0xac], 3
jmp 0x45e254
sub esp, 0xc
mov ecx, dword [ebp - 0xfc]
push ecx
call fcn.00451b40
mov eax, dword [ebp - 0xfc]
add esp, 0x10
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
test eax, eax
je 0x45efef
sub esp, 0xc
mov eax, dword [eax + 0x10]
push eax
call fcn.004d4960
mov ebx, dword [ebp - 0xfc]
mov edx, eax
add esp, 0x10
mov ecx, dword [ebx + 0x24]
mov eax, dword [ecx + 0x10]
sub edx, eax
mov eax, dword [ecx + 0xc]
add edx, eax
cmp edx, 1
jle 0x45e392
mov eax, dword [ecx + 0x10]
mov cl, byte [eax + 1]
cmp byte [eax], 0x3c
je 0x45f16c
xor ecx, ecx
mov edx, 5
mov eax, dword [ebp - 0xfc]
call fcn.0044d130
mov ebx, dword [ebp - 0xfc]
mov eax, dword [ebx]
mov dword [ebx + 0xac], 0xffffffff
test eax, eax
je 0x45e392
mov eax, dword [eax + 0x34]
test eax, eax
je 0x45e392
sub esp, 0xc
mov edx, dword [ebx + 4]
push edx
call eax
add esp, 0x10
jmp 0x45e392
push esi
push esi
push str.PP:_internal_error__state__SYSTEM_LITERAL_n
mov ebx, dword [0x61e0b0]
push ebx
call dword [0x5190a8]
mov edx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [edx + 0xac], 6
jmp 0x45e254
push eax
push eax
push str.PP:_internal_error__state__ATTRIBUTE_VALUE_n
mov edi, dword [0x61e0b0]
push edi
call dword [0x5190a8]
mov eax, dword [ebp - 0xfc]
add esp, 0x10
mov dword [eax + 0xac], 6
jmp 0x45e254
push eax
push eax
push str.PP:_internal_error__state__ENTITY_VALUE_n
mov eax, dword [0x61e0b0]
push eax
call dword [0x5190a8]
mov edi, dword [ebp - 0xfc]
add esp, 0x10
mov dword [edi + 0xac], 7
jmp 0x45e254
push eax
push eax
push str.PP:_internal_error__state__ENTITY_DECL_n
mov eax, dword [0x61e0b0]
push eax
call dword [0x5190a8]
mov ebx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [ebx + 0xac], 3
jmp 0x45e254
dec ebx
je 0x45e392
mov edi, dword [ebp - 0xf0]
test edi, edi
jne 0x45e597
mov edx, dword [ebp - 0xfc]
mov esi, dword [edx + 0x124]
test esi, esi
je 0x45f85b
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x45e392
cmp eax, dword [ecx + 0x10]
jbe 0x45e392
mov ecx, dword [ebp - 0xfc]
mov ebx, dword [ecx + 0x144]
test ebx, ebx
jne 0x45f025
mov ebx, dword [ebp - 0xfc]
cmp dword [ebx + 0xac], 0xffffffff
je 0x45e392
cmp dword [ebx + 0xbc], 1
sbb eax, eax
and eax, 7
add eax, 7
mov dword [ebx + 0xac], eax
jmp 0x45e254
sub esp, 0xc
mov ecx, 0x5d
mov edx, 0x5d
push 0x3e
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
js 0x45fcfc
mov edi, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xdc]
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
call fcn.0044b500
test eax, eax
js 0x45e62a
cmp dword [ebp - 0xdc], eax
je 0x45ecab
mov edx, dword [ebp - 0xfc]
mov ecx, dword [edx + 0x24]
mov esi, dword [ecx + 0x10]
sub esi, eax
mov dword [ecx + 0x10], esi
mov edx, dword [ecx + 0x10]
push eax
xor eax, eax
lea ebx, [ebp - 0xba]
mov al, byte [edx + 3]
push eax
xor eax, eax
mov al, byte [edx + 2]
push eax
xor eax, eax
mov al, byte [edx + 1]
push eax
xor eax, eax
mov al, byte [edx]
push eax
push 0x52b814
push 0x95
push ebx
call sub.msvcrt.dll__snprintf_1
add esp, 0x14
push 0
push ebx
push str.Input_is_not_proper_UTF_8__indicate_encoding___n_s
push 9
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00436d80
add esp, 0x20
mov dword [ebp - 0xe8], 0
jmp 0x45e392
mov edi, dword [ebp - 0xfc]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
dec ebx
mov edi, dword [edi + 0x148]
mov dword [ebp - 0xe4], edi
je 0x45f355
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0x3c
jne 0x45fcad
mov esi, dword [ebp - 0xf0]
test esi, esi
jne 0x45e6fb
mov ecx, dword [ebp - 0xfc]
mov ebx, dword [ecx + 0x124]
test ebx, ebx
je 0x45f7ae
mov edx, dword [ebp - 0x18]
test edx, edx
je 0x45e392
cmp eax, edx
jae 0x45e392
mov ebx, dword [ebp - 0xfc]
mov ecx, dword [ebx + 0xec]
test ecx, ecx
je 0x45f0a2
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi + 0xe8]
mov edx, dword [eax]
cmp edx, 0xfffffffe
je 0x45f670
mov eax, dword [ebp - 0xfc]
call fcn.0044bb50
sub esp, 0xc
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xfc]
call fcn.00459130
add esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 0xac], 0xffffffff
je 0x45e392
test esi, esi
je 0x45fcf5
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + 0x68]
test eax, eax
je 0x45e7af
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x45e7af
mov edx, dword [ecx + 8]
test edx, edx
je 0x45e7af
mov eax, dword [ecx + 0x34]
test eax, eax
je 0x45e7af
cmp eax, dword [edx + 0xc]
jne 0x45e7af
mov eax, ecx
mov ebx, dword [ecx + 0x64]
add eax, 0x6c
push edi
push edi
push edx
push eax
call fcn.00490670
mov edi, dword [ebp - 0xfc]
and ebx, eax
add esp, 0x10
mov dword [edi + 0x64], ebx
mov eax, dword [ebp - 0xfc]
mov edx, dword [eax + 0x24]
mov ecx, dword [edx + 0x10]
mov al, byte [ecx]
cmp al, 0x2f
je 0x45f398
cmp al, 0x3e
je 0x45f90a
sub esp, 0xc
mov ecx, 0x52b68c
mov edx, 0x49
push esi
mov eax, dword [ebp - 0xfc]
call fcn.0044c070
mov eax, dword [ebp - 0xfc]
push eax
call fcn.0044b260
mov eax, dword [ebp - 0xfc]
call fcn.0044b310
add esp, 0x14
mov ebx, dword [ebp - 0xfc]
mov eax, dword [ebx + 0x144]
test eax, eax
je 0x45e895
mov edi, ebx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc4], edx
mov edx, dword [edi + 0xc0]
mov ebx, dword [ebx + 0x148]
mov dword [ebp - 0xc8], eax
cmp dword [edi + 0xbc], edx
jge 0x45f89b
mov edx, dword [ebp - 0xfc]
mov edi, dword [ebp - 0xc4]
mov ecx, edx
mov eax, dword [edx + 0xbc]
mov edx, dword [edx + 0xc4]
mov dword [edx + eax*4], esi
lea eax, [eax + eax*2]
mov edx, dword [ecx + 0x158]
mov dword [ecx + 0xb8], esi
shl eax, 2
mov dword [eax + edx], edi
add eax, edx
mov edx, dword [ebp - 0xc8]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0xe4]
sub ebx, edx
mov dword [eax + 8], ebx
mov eax, dword [ecx + 0xbc]
inc eax
mov dword [ecx + 0xbc], eax
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + 0xac], 7
mov dword [ecx + 0x124], 1
jmp 0x45e254
cmp ebx, 1
je 0x45f340
mov esi, dword [ecx + 0x10]
mov edx, dword [ecx + 0x24]
mov al, byte [esi]
mov byte [ebp - 0xbd], al
mov al, byte [esi + 1]
mov dword [ebp - 0xe0], edx
cmp byte [ebp - 0xbd], 0x3c
sete dl
jne 0x45e8f0
cmp al, 0x2f
je 0x45f157
cmp al, 0x3f
je 0x45f482
cmp al, 0x21
setne byte [ebp - 0xe9]
test dl, dl
jne 0x45f6b8
cmp al, 0x21
sete al
and al, dl
je 0x45e914
cmp byte [esi + 2], 0x2d
je 0x45fe05
cmp byte [ebp - 0xbd], 0x3c
je 0x45fb74
test al, al
je 0x45e92e
cmp ebx, 8
jle 0x45e392
cmp byte [ebp - 0xbd], 0x26
je 0x45fb31
mov edx, dword [ebp - 0xfc]
cmp dword [edx + 0x28], 1
je 0x45fdc5
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + 0xcc], 0
push eax
push eax
push 0
push ecx
call fcn.004562c0
add esp, 0x10
jmp 0x45f4bc
push edi
push edi
push str.PP:_internal_error__state__COMMENT_n
mov esi, dword [0x61e0b0]
push esi
call dword [0x5190a8]
mov eax, dword [ebp - 0xfc]
add esp, 0x10
mov dword [eax + 0xac], 7
jmp 0x45e254
sub esp, 0xc
mov ecx, dword [ebp - 0xfc]
push ecx
call fcn.00451b40
mov eax, dword [ebp - 0xfc]
add esp, 0x10
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
test eax, eax
je 0x45f013
sub esp, 0xc
mov eax, dword [eax + 0x10]
push eax
call fcn.004d4960
mov ebx, dword [ebp - 0xfc]
mov edx, eax
add esp, 0x10
mov ecx, dword [ebx + 0x24]
mov eax, dword [ecx + 0x10]
sub edx, eax
mov eax, dword [ecx + 0xc]
add edx, eax
cmp edx, 1
jle 0x45e392
mov eax, dword [ecx + 0x10]
mov cl, byte [eax + 1]
cmp byte [eax], 0x3c
jne 0x45ea0b
cmp cl, 0x3f
je 0x45f1ff
cmp cl, 0x21
je 0x45f46a
mov ebx, dword [ebp - 0xfc]
mov esi, dword [ebx + 0x124]
mov dword [ebx + 0xac], 6
test esi, esi
jne 0x45ea2f
mov dword [ebx + 0x124], 6
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0xfc]
call fcn.0044b410
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi + 0xac]
jmp case.default.0x45e33f
mov eax, dword [ecx + 0x10]
sub eax, dword [ecx + 0xc]
js 0x45ef0e
mov edi, dword [ebp - 0xfc]
mov ebx, eax
mov edx, dword [edi + 0xcc]
cmp eax, edx
jl 0x45ef82
mov eax, dword [ecx]
sub esp, 0xc
mov eax, dword [eax + 0x10]
push eax
call fcn.004d4780
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0xd4], eax
pop eax
mov eax, dword [edx + 0x24]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
call fcn.004d4960
add esp, 0x10
mov dword [ebp - 0xcc], eax
cmp ebx, eax
jae 0x45ee9e
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd4]
inc ecx
add edi, 2
mov byte [ebp - 0xcd], 0
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf8], edi
jmp 0x45eaf8
mov edx, dword [ebp - 0xd4]
mov al, byte [ebp - 0xcd]
lea ecx, [ebx + 1]
cmp byte [edx + ebx], al
je 0x45ed23
mov ebx, ecx
cmp dword [ebp - 0xcc], ecx
jbe 0x45f376
cmp byte [ebp - 0xcd], 0
jne 0x45ead2
mov ecx, dword [ebp - 0xd4]
mov al, byte [ecx + ebx]
cmp al, 0x3c
je 0x45ed2f
cmp al, 0x22
je 0x45edc0
cmp al, 0x27
je 0x45ee21
cmp al, 0x5d
je 0x45ee30
lea ecx, [ebx + 1]
jmp 0x45eaea
push edx
push edx
push str.PP:_internal_error__state__PI_n
mov eax, dword [0x61e0b0]
push eax
call dword [0x5190a8]
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [ecx + 0xac], 7
jmp 0x45e254
mov eax, dword [ebp - 0xfc]
mov esi, dword [eax + 0x100]
test esi, esi
je 0x45ef26
cmp ebx, 1
je 0x45e392
mov eax, dword [ecx + 0x10]
mov dl, byte [eax]
mov al, byte [eax + 1]
test dl, dl
je 0x45ffec
cmp dl, 0x3c
je 0x45f7d5
mov ebx, dword [ebp - 0xfc]
mov eax, dword [ebx]
test eax, eax
je 0x45ebb3
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x45ebb3
push edi
push edi
push 0x5190b4
mov esi, dword [ebx + 4]
push esi
call eax
add esp, 0x10
sub esp, 0xc
push 0x52a41f
call fcn.00483ad0
mov edi, dword [ebp - 0xfc]
add esp, 0x10
test eax, eax
mov dword [edi + 0x14], eax
je 0x45fc95
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx]
test eax, eax
je 0x45ebf5
mov eax, dword [eax + 0x30]
test eax, eax
je 0x45ebf5
mov ecx, dword [edx + 0xd4]
test ecx, ecx
je 0x45f9d4
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + 0xac], 1
jmp 0x45e254
sub esp, 0xc
mov ecx, dword [ebp - 0xfc]
push ecx
call fcn.00451b40
mov edx, dword [ebp - 0xfc]
add esp, 0x10
mov ecx, dword [edx + 0x24]
mov eax, dword [ecx]
test eax, eax
je 0x45f001
sub esp, 0xc
mov eax, dword [eax + 0x10]
push eax
call fcn.004d4960
mov ebx, dword [ebp - 0xfc]
mov edx, eax
add esp, 0x10
mov ecx, dword [ebx + 0x24]
mov eax, dword [ecx + 0x10]
sub edx, eax
mov eax, dword [ecx + 0xc]
add edx, eax
cmp edx, 1
jle 0x45e392
mov eax, dword [ecx + 0x10]
mov cl, byte [eax + 1]
cmp byte [eax], 0x3c
jne 0x45ec79
cmp cl, 0x3f
je 0x45f0e0
cmp cl, 0x21
je 0x45f51e
mov edi, dword [ebp - 0xfc]
lea ecx, [ebp - 0x18]
mov eax, edi
lea edx, [ebp - 0x14]
mov dword [edi + 0xac], 6
mov dword [edi + 0x124], 6
call fcn.0044b410
mov eax, dword [edi + 0xac]
jmp case.default.0x45e33f
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx]
test eax, eax
setne dl
jne 0x45ef89
mov edi, dword [ebp - 0xfc]
cmp dword [edi + 0xac], 0xffffffff
je 0x45e392
mov eax, dword [ebp - 0xdc]
xor ebx, ebx
mov ecx, dword [edi + 0x24]
lea edx, [eax + 3]
jmp 0x45ed0b
mov eax, dword [ecx + 0x20]
inc eax
mov dword [ecx + 0x20], eax
mov edi, dword [ebp - 0xfc]
inc ebx
mov eax, dword [edi + 0xc8]
inc eax
mov dword [edi + 0xc8], eax
mov eax, dword [ecx + 0x10]
inc eax
cmp ebx, edx
mov dword [ecx + 0x10], eax
je 0x45eed8
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0xa
jne 0x45ece1
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x20], 1
inc eax
mov dword [ecx + 0x1c], eax
jmp 0x45ece8
mov byte [ebp - 0xcd], 0
jmp 0x45eaea
lea eax, [ebx + 4]
cmp dword [ebp - 0xcc], eax
jbe 0x45eb2a
mov edi, dword [ebp - 0xf4]
cmp byte [ebx + edi], 0x21
jne 0x45eb2a
mov eax, dword [ebp - 0xf8]
lea ecx, [ebx + 1]
cmp byte [ebx + eax], 0x2d
jne 0x45eaea
mov edx, dword [ebp - 0xd4]
cmp byte [ebx + edx + 3], 0x2d
jne 0x45eaea
lea eax, [ebx + 3]
cmp eax, dword [ebp - 0xcc]
jb 0x45ed92
jmp 0x45ee9e
inc ebx
lea eax, [ebx + 3]
cmp eax, dword [ebp - 0xcc]
jae 0x45ee9e
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + ebx], 0x2d
jne 0x45ed82
mov edi, dword [ebp - 0xf4]
cmp byte [edi + ebx], 0x2d
jne 0x45ed82
mov eax, dword [ebp - 0xf8]
cmp byte [eax + ebx], 0x3e
jne 0x45ed82
lea ecx, [ebx + 3]
jmp 0x45eaea
lea ecx, [ebx + 1]
mov byte [ebp - 0xcd], 0x22
jmp 0x45eaea
mov eax, dword [ebx + 0x24]
push esi
push esi
push eax
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.004d4b60
add esp, 0xc
mov esi, eax
mov eax, dword [ebx + 0x24]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
push 0x5294d6
push 0
mov eax, dword [eax]
sub ebx, edx
push eax
call fcn.0048ea70
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi + 0x24]
push ebx
push esi
push eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
call fcn.004d4ab0
add esp, 0x20
mov ecx, dword [edi + 0x24]
jmp 0x45e2fd
lea ecx, [ebx + 1]
mov byte [ebp - 0xcd], 0x27
jmp 0x45eaea
lea ecx, [ebx + 1]
cmp dword [ebp - 0xcc], ecx
jbe 0x45ee9e
mov edx, dword [ebp - 0xd4]
cmp byte [ebx + edx + 1], 0x5d
je 0x45f370
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], 1
lea esi, [ebx + edi]
mov dl, byte [esi + 1]
cmp dl, 0x3e
je 0x45f708
cmp dl, 0x20
je 0x45ee80
lea eax, [edx - 9]
cmp al, 1
jbe 0x45ee80
cmp dl, 0xd
jne 0x45eaea
mov edi, dword [ebp - 0xd8]
inc esi
inc edi
mov dword [ebp - 0xd8], edi
mov eax, dword [ebp - 0xd8]
add eax, ebx
cmp eax, dword [ebp - 0xcc]
jb 0x45ee5f
mov eax, dword [ebp - 0xfc]
mov dword [eax + 0xcc], ebx
mov eax, dword [ebp - 0xe8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0xfc]
call fcn.0044df10
mov eax, dword [ebp - 0xfc]
mov dword [eax + 0xcc], 0
jmp 0x45e226
mov eax, dword [ecx + 0x10]
mov edx, ecx
mov al, byte [eax]
cmp al, 0x25
je 0x45f882
test al, al
je 0x45f0b1
mov eax, dword [ebp - 0xfc]
mov dword [eax + 0xcc], 0
mov dword [eax + 0xac], 7
jmp 0x45e254
mov dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0xe8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebx, 3
jle 0x45e392
mov eax, dword [ecx + 0x10]
mov al, byte [eax]
mov byte [ebp - 0x1c], al
mov eax, dword [ecx + 0x10]
mov al, byte [eax + 1]
mov byte [ebp - 0x1b], al
mov eax, dword [ecx + 0x10]
mov al, byte [eax + 2]
mov byte [ebp - 0x1a], al
mov eax, dword [ecx + 0x10]
mov al, byte [eax + 3]
mov byte [ebp - 0x19], al
lea eax, [ebp - 0x1c]
push ebx
push ebx
push 4
push eax
call fcn.004d2350
pop edx
pop ecx
push eax
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00437f80
mov edx, dword [ebp - 0xfc]
add esp, 0x10
mov eax, dword [edx + 0xac]
jmp case.default.0x45e33f
mov ebx, edx
jmp 0x45ea73
mov ebx, dword [ebp - 0xdc]
test ebx, ebx
je 0x45f2d9
test dl, dl
je 0x45ecbe
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
jle 0x45ecbe
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0xd4]
test edx, edx
jne 0x45ecbe
mov edx, dword [eax + 0x64]
test edx, edx
je 0x45f6da
push eax
mov eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + 0x24]
mov edi, dword [eax + 0x10]
push edi
mov esi, dword [ecx + 4]
push esi
call edx
add esp, 0x10
jmp 0x45ecbe
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, edx
mov edx, dword [ecx + 0x18]
sub edx, eax
jmp 0x45e450
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, edx
mov edx, dword [ecx + 0x18]
sub edx, eax
jmp 0x45ec53
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, edx
mov edx, dword [ecx + 0x18]
sub edx, eax
jmp 0x45e9e5
mov eax, dword [ecx + 0xbc]
mov ebx, dword [ecx + 0x158]
push edx
lea eax, [eax + eax*2]
shl eax, 2
mov ecx, dword [eax + ebx - 8]
mov edx, dword [eax + ebx - 0xc]
push 0
mov edi, dword [eax + ebx - 4]
push edi
push 0
mov eax, dword [ebp - 0xfc]
call fcn.004528f0
mov ebx, dword [ebp - 0xfc]
mov eax, dword [ebx + 0xbc]
add esp, 0x10
test eax, eax
jle 0x45e5ab
dec eax
mov dword [ebx + 0xbc], eax
test eax, eax
je 0x45fc5d
mov edx, dword [ebx + 0xc4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebx + 0xb8], eax
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + 0xbc]
mov dword [edx + eax*4], 0
jmp 0x45e5ab
or edx, 0xffffffff
mov eax, ebx
call fcn.0044bb50
jmp 0x45e731
push esi
push esi
push 0xfa
push edx
call fcn.004385a0
add esp, 0x10
test eax, eax
jg 0x45eeef
sub esp, 0xc
mov ebx, dword [ebp - 0xfc]
push ebx
call fcn.0044d5b0
add esp, 0x10
jmp 0x45eeef
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x45f10f
sub esp, 0xc
mov ecx, 0x3e
mov edx, 0x3f
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
js 0x45feef
sub esp, 0xc
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00455860
mov eax, dword [ebp - 0xfc]
add esp, 0x10
cmp dword [eax + 0xac], 0xffffffff
je 0x45e392
mov dword [eax + 0xac], 1
mov dword [eax + 0x124], 1
mov dword [eax + 0xcc], 0
jmp 0x45e254
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + 0xac], 9
jmp 0x45e254
cmp cl, 0x3f
je 0x45f26c
cmp cl, 0x21
jne 0x45e468
cmp byte [eax + 2], 0x2d
jne 0x45fe92
cmp byte [eax + 3], 0x2d
jne 0x45fe92
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
jne 0x45f1c1
sub esp, 0xc
mov ecx, 0x2d
mov edx, 0x2d
push 0x3e
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
js 0x46001b
sub esp, 0xc
mov ecx, dword [ebp - 0xfc]
push ecx
call fcn.0044f1f0
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
cmp dword [ecx + 0xac], 0xffffffff
je 0x45e392
mov dword [ecx + 0xac], 0xe
mov dword [ecx + 0x124], 1
jmp 0x45e254
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x45f22e
sub esp, 0xc
mov ecx, 0x3e
mov edx, 0x3f
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
js 0x45feef
sub esp, 0xc
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00455860
mov eax, dword [ebp - 0xfc]
add esp, 0x10
cmp dword [eax + 0xac], 0xffffffff
je 0x45e392
mov dword [eax + 0xac], 4
mov dword [eax + 0x124], 1
jmp 0x45e254
mov edi, dword [ebp - 0xf0]
test edi, edi
jne 0x45f29b
sub esp, 0xc
mov ecx, 0x3e
mov edx, 0x3f
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
js 0x45feef
sub esp, 0xc
mov esi, dword [ebp - 0xfc]
push esi
call fcn.00455860
mov eax, dword [ebp - 0xfc]
add esp, 0x10
cmp dword [eax + 0xac], 0xffffffff
je 0x45e392
mov dword [eax + 0xac], 0xe
mov dword [eax + 0x124], 1
jmp 0x45e254
mov ebx, dword [eax + 0x64]
test ebx, ebx
je 0x45ef97
mov edi, dword [ecx + 0xd4]
test edi, edi
jne 0x45ef97
mov ecx, dword [ecx + 0x24]
mov edx, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
mov eax, edx
sub eax, esi
cmp eax, 8
jle 0x45ecbe
mov eax, 0x52b6af
lea esi, [edx - 9]
cld
mov ecx, 9
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x45ecbe
push edi
push 0
push 0x5294d6
mov eax, dword [ebp - 0xfc]
mov esi, dword [eax + 4]
push esi
call ebx
add esp, 0x10
jmp 0x45ecbe
mov edi, dword [ebp - 0xfc]
cmp dword [edi + 0x28], 1
jne 0x45e8bd
jmp 0x45e392
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 0x28], 1
jne 0x45e6be
jmp 0x45e392
inc ecx
jmp 0x45eaea
cmp byte [ebp - 0xcd], 0
je 0x45ee9e
mov edx, dword [ebp - 0xfc]
mov dword [edx + 0xcc], 0
jmp 0x45e392
cmp byte [ecx + 1], 0x3e
jne 0x45e7cd
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + 0xc8]
add eax, 2
mov dword [ecx + 0xc8], eax
mov eax, dword [edx + 0x10]
add eax, 2
mov dword [edx + 0x10], eax
mov eax, dword [edx + 0x20]
add eax, 2
mov dword [edx + 0x20], eax
mov eax, dword [edx + 0x10]
mov al, byte [eax]
cmp al, 0x25
je 0x45fed0
test al, al
je 0x45fea0
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi + 0x144]
test eax, eax
je 0x45f426
mov eax, dword [edi]
test eax, eax
je 0x45f409
mov eax, dword [eax + 0x78]
test eax, eax
je 0x45f409
mov ebx, dword [edi + 0xd4]
test ebx, ebx
je 0x45ff04
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [eax + 0x148]
sub edx, ecx
test edx, edx
jle 0x45f426
call fcn.0044b190
mov edx, dword [ebp - 0xfc]
cmp dword [edx + 0xac], 0xffffffff
je 0x45e392
mov eax, edx
call fcn.0044b310
mov ecx, dword [ebp - 0xfc]
cmp dword [ecx + 0xbc], 1
sbb eax, eax
mov dword [ecx + 0x124], 1
and eax, 7
add eax, 7
mov dword [ecx + 0xac], eax
jmp case.default.0x45e33f
cmp byte [eax + 2], 0x2d
je 0x45f9e5
cmp edx, 3
jg 0x45ea0b
jmp 0x45e392
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x45f67e
sub esp, 0xc
mov edi, dword [ebp - 0xfc]
push edi
call fcn.00455860
mov edi, dword [ebp - 0xfc]
add esp, 0x10
mov dword [edi + 0xac], 7
mov dword [edi + 0x124], 1
mov ebx, dword [ebp - 0xfc]
mov eax, dword [ebx + 0x24]
mov edx, dword [eax + 0x10]
cmp byte [edx], 0
jne 0x45f4fe
cmp dword [ebx + 0x28], 1
jg 0x45f4db
jmp 0x45f4fe
cmp dword [edi + 0x28], 1
jle 0x45f4fe
sub esp, 0xc
mov eax, dword [ebp - 0xfc]
push eax
call fcn.0044d5b0
mov edi, dword [ebp - 0xfc]
add esp, 0x10
mov eax, dword [edi + 0x24]
mov edx, dword [eax + 0x10]
cmp byte [edx], 0
je 0x45f4d5
mov ecx, dword [ebp - 0xe0]
cmp dword [eax + 0x24], ecx
je 0x45f921
mov ebx, dword [ebp - 0xfc]
mov eax, dword [ebx + 0xac]
jmp case.default.0x45e33f
mov cl, byte [eax + 2]
cmp cl, 0x2d
je 0x45f953
cmp cl, 0x44
jne 0x45f660
cmp byte [eax + 3], 0x4f
jne 0x45f660
cmp byte [eax + 4], 0x43
jne 0x45f660
cmp byte [eax + 5], 0x54
jne 0x45f660
cmp byte [eax + 6], 0x59
jne 0x45f660
cmp byte [eax + 7], 0x50
jne 0x45f660
cmp byte [eax + 8], 0x45
jne 0x45f660
mov esi, dword [ebp - 0xf0]
test esi, esi
jne 0x45f59b
sub esp, 0xc
xor ecx, ecx
mov edx, 0x3e
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
js 0x45ff1b
mov edi, dword [ebp - 0xfc]
sub esp, 0xc
mov dword [edi + 0xd8], 1
mov dword [edi + 0x124], 0
mov dword [edi + 0xcc], 0
push edi
call fcn.004534d0
add esp, 0x10
cmp dword [edi + 0xac], 0xffffffff
je 0x45e392
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x5b
je 0x45ff76
mov eax, dword [ebp - 0xfc]
mov edx, eax
mov dword [eax + 0xd8], 2
mov eax, dword [eax]
test eax, eax
je 0x45f62e
mov ebx, dword [edx + 0xd4]
test ebx, ebx
jne 0x45f62e
mov eax, dword [eax + 0x68]
test eax, eax
je 0x45f62e
mov ecx, dword [edx + 0xe0]
push ecx
mov edi, dword [edx + 0xe4]
push edi
mov esi, dword [edx + 0xdc]
push esi
mov ebx, dword [edx + 4]
push ebx
call eax
add esp, 0x10
mov ecx, dword [ebp - 0xfc]
mov eax, ecx
mov dword [ecx + 0xd8], 0
call fcn.0044e860
mov ebx, dword [ebp - 0xfc]
mov dword [ebx + 0xac], 4
jmp 0x45e254
cmp edx, 8
jg 0x45ec79
jmp 0x45e392
mov dl, 0xff
mov eax, edi
call fcn.0044bb50
jmp 0x45e731
sub esp, 0xc
mov ecx, 0x3e
mov edx, 0x3f
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
jns 0x45f490
mov ebx, dword [ebp - 0xfc]
mov dword [ebx + 0x124], 2
jmp 0x45e392
cmp byte [ebp - 0xe9], 0
je 0x45e901
mov eax, dword [ebp - 0xfc]
mov dword [eax + 0xac], 6
jmp 0x45e254
mov edx, dword [eax + 0x44]
test edx, edx
je 0x45ecbe
push ebx
mov ecx, dword [ebp - 0xdc]
push ecx
mov ebx, dword [ebp - 0xfc]
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
push eax
mov eax, dword [ebx + 4]
push eax
call edx
add esp, 0x10
jmp 0x45ecbe
mov ecx, dword [ebp - 0xfc]
mov eax, ecx
mov dword [ecx + 0xcc], 0
call fcn.0045e100
mov ebx, dword [ebp - 0xfc]
cmp dword [ebx + 0xac], 0xffffffff
je 0x45e392
mov eax, dword [ebx]
mov dword [ebx + 0xd8], 2
test eax, eax
je 0x45f771
mov edx, dword [ebx + 0xd4]
test edx, edx
jne 0x45f771
mov eax, dword [eax + 0x68]
test eax, eax
je 0x45f771
mov edi, dword [ebx + 0xe0]
push edi
mov esi, dword [ebx + 0xe4]
push esi
mov ecx, dword [ebx + 0xdc]
push ecx
mov edx, dword [ebx + 4]
push edx
call eax
add esp, 0x10
mov edi, dword [ebp - 0xfc]
mov eax, edi
mov dword [edi + 0xd8], 0
call fcn.0044e860
cmp dword [edi + 0xac], 0xffffffff
je 0x45e392
mov dword [edi + 0xac], 4
mov dword [edi + 0xcc], 0
jmp 0x45e254
sub esp, 0xc
xor ecx, ecx
mov edx, 0x3e
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
jns 0x45e6fb
jmp 0x45e392
cmp al, 0x3f
jne 0x45eb90
cmp ebx, 4
jle 0x45e392
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
je 0x45fa5c
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi]
test eax, eax
je 0x45f817
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x45f817
push ecx
push ecx
push 0x5190b4
mov edx, dword [edi + 4]
push edx
call eax
add esp, 0x10
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 2], 0x78
jne 0x45f833
cmp byte [eax + 3], 0x6d
je 0x45fa86
sub esp, 0xc
push 0x52a41f
call fcn.00483ad0
mov edx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [edx + 0x14], eax
mov eax, dword [edx]
test eax, eax
jne 0x45ebe0
jmp 0x45ebf5
sub esp, 0xc
xor ecx, ecx
mov edx, 0x3e
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
jns 0x45e597
jmp 0x45e392
sub esp, 0xc
push edi
call fcn.0044e900
mov edx, dword [edi + 0x24]
add esp, 0x10
mov eax, dword [edx + 0x10]
mov al, byte [eax]
jmp 0x45eee7
lea eax, [edx + edx]
mov dword [edi + 0xc0], eax
push eax
push eax
lea eax, [edx*8]
push eax
mov eax, dword [edi + 0xc4]
push eax
call dword [0x51908c]
add esp, 0x10
test eax, eax
je 0x45fc30
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + 0xc4], eax
push edi
push edi
mov eax, dword [ecx + 0xc0]
lea eax, [eax + eax*2]
shl eax, 2
push eax
mov ecx, dword [ecx + 0x158]
push ecx
call dword [0x51908c]
add esp, 0x10
test eax, eax
je 0x45fc78
mov edi, dword [ebp - 0xfc]
mov dword [edi + 0x158], eax
jmp 0x45e840
sub esp, 0xc
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00438ac0
add esp, 0x10
jmp 0x45e800
cmp esi, edx
jne 0x45ea40
mov eax, dword [ebp - 0xfc]
mov ecx, 0x52b1e0
mov edx, 1
call fcn.0044d130
mov eax, dword [ebp - 0xfc]
mov dword [eax + 0xac], 0xffffffff
jmp 0x45e392
cmp byte [eax + 3], 0x2d
jne 0x45f660
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x45f98c
sub esp, 0xc
mov ecx, 0x2d
mov edx, 0x2d
push 0x3e
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
js 0x46001b
sub esp, 0xc
mov edi, dword [ebp - 0xfc]
push edi
call fcn.0044f1f0
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
cmp dword [ecx + 0xac], 0xffffffff
je 0x45e392
mov dword [ecx + 0xac], 1
mov dword [ecx + 0x124], 1
mov dword [ecx + 0xcc], 0
jmp 0x45e254
sub esp, 0xc
mov edi, dword [edx + 4]
push edi
call eax
add esp, 0x10
jmp 0x45ebf5
cmp byte [eax + 3], 0x2d
jne 0x45f474
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x45fa1e
sub esp, 0xc
mov ecx, 0x2d
mov edx, 0x2d
push 0x3e
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
js 0x46001b
sub esp, 0xc
mov edi, dword [ebp - 0xfc]
push edi
call fcn.0044f1f0
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
cmp dword [ecx + 0xac], 0xffffffff
je 0x45e392
mov dword [ecx + 0xac], 4
mov dword [ecx + 0x124], 1
jmp 0x45e254
sub esp, 0xc
mov ecx, 0x3e
mov edx, 0x3f
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
jns 0x45f7f4
jmp 0x45e392
cmp byte [eax + 4], 0x6c
jne 0x45f833
mov dl, byte [eax + 5]
cmp dl, 0x20
je 0x45faa8
lea eax, [edx - 9]
cmp al, 1
jbe 0x45faa8
cmp dl, 0xd
jne 0x45f833
sub esp, 0xc
mov edi, dword [ebp - 0xfc]
push edi
call fcn.00452560
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
cmp dword [ecx + 0x54], 0x20
je 0x45ffd3
mov ebx, dword [ebp - 0xfc]
mov edx, dword [ebx + 0x24]
mov esi, dword [ebx + 0x18]
test esi, esi
mov eax, dword [edx + 0x34]
mov dword [ebx + 0x1c], eax
je 0x45ffb4
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi]
test eax, eax
je 0x45fb0d
mov eax, dword [eax + 0x30]
test eax, eax
je 0x45fb0d
mov ecx, dword [edi + 0xd4]
test ecx, ecx
jne 0x45fb0d
sub esp, 0xc
mov edx, dword [edi + 4]
push edx
call eax
add esp, 0x10
mov eax, dword [ebp - 0xe8]
add eax, 5
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xfc]
mov dword [eax + 0xac], 1
jmp 0x45e254
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x45fb5d
sub esp, 0xc
xor ecx, ecx
mov edx, 0x3b
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
js 0x45e392
sub esp, 0xc
mov eax, dword [ebp - 0xfc]
push eax
call fcn.0045b730
add esp, 0x10
jmp 0x45f4bc
cmp byte [ebp - 0xe9], 0
jne 0x45e921
cmp byte [esi + 2], 0x5b
jne 0x45e921
cmp byte [esi + 3], 0x43
jne 0x45e921
cmp byte [esi + 4], 0x44
jne 0x45e921
cmp byte [esi + 5], 0x41
jne 0x45e921
cmp byte [esi + 6], 0x54
jne 0x45e921
cmp byte [esi + 7], 0x41
jne 0x45e921
cmp byte [esi + 8], 0x5b
jne 0x45e921
mov edi, dword [ebp - 0xfc]
mov esi, dword [ecx + 0x10]
add esi, 9
mov ebx, dword [ecx + 0x20]
mov eax, dword [edi + 0xc8]
mov dword [ecx + 0x10], esi
add eax, 9
add ebx, 9
mov dword [edi + 0xc8], eax
mov eax, dword [ecx + 0x10]
mov dword [ecx + 0x20], ebx
mov edx, ecx
mov al, byte [eax]
cmp al, 0x25
jne 0x45fc0d
sub esp, 0xc
push edi
call fcn.0044e900
mov edx, dword [edi + 0x24]
add esp, 0x10
mov eax, dword [edx + 0x10]
mov al, byte [eax]
test al, al
je 0x45ff85
mov eax, dword [ebp - 0xfc]
mov dword [eax + 0xac], 8
jmp 0x45e254
mov edx, dword [edi + 0xc0]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
mov dword [edi + 0xc0], eax
push eax
push eax
push 0
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00436e30
add esp, 0x10
jmp 0x45e895
mov edi, dword [ebp - 0xfc]
mov edx, dword [edi + 0xc4]
mov dword [edi + 0xb8], 0
jmp 0x45f08a
mov ebx, dword [ebp - 0xfc]
mov edx, dword [ebx + 0xc0]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
mov dword [ebx + 0xc0], eax
jmp 0x45fc45
push ebx
push ebx
push 0
push edi
call fcn.00436e30
mov eax, dword [edi + 0xac]
add esp, 0x10
jmp case.default.0x45e33f
xor ecx, ecx
mov edx, 4
mov eax, dword [ebp - 0xfc]
call fcn.0044d130
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx]
mov dword [edx + 0xac], 0xffffffff
test eax, eax
je 0x45e392
mov eax, dword [eax + 0x34]
test eax, eax
je 0x45e392
sub esp, 0xc
mov edx, dword [edx + 4]
push edx
call eax
add esp, 0x10
jmp 0x45e392
call fcn.0044b310
jmp 0x45fcbf
cmp ebx, 0x12d
jle 0x45e392
mov edi, dword [ebp - 0xfc]
mov edx, 0x12c
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
call fcn.0044b500
mov ebx, eax
test eax, eax
js 0x45ff66
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx]
test eax, eax
je 0x45fd61
mov edx, dword [edx + 0xd4]
test edx, edx
jne 0x45fd61
mov edx, dword [eax + 0x64]
test edx, edx
je 0x460030
push eax
push ebx
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 0x10]
push eax
mov eax, dword [ecx + 4]
push eax
call edx
add esp, 0x10
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 0xac], 0xffffffff
je 0x45e392
test ebx, ebx
je 0x45e346
xor edx, edx
mov ecx, dword [eax + 0x24]
jmp 0x45fdad
mov eax, dword [ecx + 0x20]
inc eax
mov dword [ecx + 0x20], eax
mov edi, dword [ebp - 0xfc]
inc edx
mov eax, dword [edi + 0xc8]
inc eax
mov dword [edi + 0xc8], eax
mov eax, dword [ecx + 0x10]
inc eax
cmp edx, ebx
mov dword [ecx + 0x10], eax
je 0x45e34f
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0xa
jne 0x45fd83
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x20], 1
inc eax
mov dword [ecx + 0x1c], eax
jmp 0x45fd8a
cmp ebx, 0x12b
jg 0x45e94b
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x45e94b
mov eax, dword [edx + 0x124]
test eax, eax
je 0x45ff30
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x45e392
cmp esi, eax
jbe 0x45e94b
jmp 0x45e392
cmp byte [esi + 3], 0x2d
jne 0x45e914
cmp ebx, 3
jle 0x45e392
sub esp, 0xc
lea eax, [esi + 4]
mov dword [ecx + 0x10], eax
mov edx, 0x2d
push 0x3e
mov ecx, 0x2d
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
mov ecx, dword [ebp - 0xfc]
mov edx, eax
mov eax, dword [ecx + 0x24]
add esp, 0x10
mov ebx, dword [eax + 0x10]
sub ebx, 4
mov dword [eax + 0x10], ebx
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x45fe61
test edx, edx
js 0x45ff57
sub esp, 0xc
mov eax, dword [ebp - 0xfc]
push eax
call fcn.0044f1f0
mov ebx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [ebx + 0xac], 7
mov dword [ebx + 0x124], 1
jmp 0x45f4bc
cmp edx, 3
jg 0x45e468
jmp 0x45e392
push eax
push eax
push 0xfa
push edx
call fcn.004385a0
add esp, 0x10
test eax, eax
jg 0x45f3de
sub esp, 0xc
mov eax, dword [ebp - 0xfc]
push eax
call fcn.0044d5b0
add esp, 0x10
jmp 0x45f3de
sub esp, 0xc
push ecx
call fcn.0044e900
mov ebx, dword [ebp - 0xfc]
add esp, 0x10
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x10]
mov al, byte [eax]
jmp 0x45f3d6
mov edi, dword [ebp - 0xfc]
mov dword [edi + 0x124], 2
jmp 0x45e392
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x20]
push edx
push esi
mov ebx, dword [edi + 4]
push ebx
call eax
add esp, 0x10
jmp 0x45f409
mov ebx, dword [ebp - 0xfc]
mov dword [ebx + 0x124], 3
jmp 0x45e392
sub esp, 0xc
xor ecx, ecx
mov edx, 0x3c
push 0
mov eax, dword [ebp - 0xfc]
call fcn.0044de10
add esp, 0x10
test eax, eax
jns 0x45e94b
jmp 0x45e392
mov dword [ecx + 0x124], 5
jmp 0x45e392
mov ecx, dword [edi + 0x24]
mov esi, dword [ecx + 0x10]
sub esi, eax
mov dword [ecx + 0x10], esi
jmp 0x45e63b
mov dword [edi + 0xac], 3
jmp 0x45e254
push ecx
push ecx
push 0xfa
push edx
call fcn.004385a0
add esp, 0x10
test eax, eax
jg 0x45fc15
sub esp, 0xc
mov edx, dword [ebp - 0xfc]
push edx
call fcn.0044d5b0
add esp, 0x10
jmp 0x45fc15
mov eax, dword [edx + 0x2c]
test eax, eax
je 0x45fae4
sub esp, 0xc
push eax
call fcn.00483c60
add esp, 0x10
mov dword [ebx + 0x18], eax
jmp 0x45fae4
mov dword [ecx + 0xac], 0xffffffff
mov dword [ebp - 0xe8], 0
jmp 0x45e392
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx]
test eax, eax
je 0x46000f
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x46000f
push edi
push edi
push 0x5190b4
mov esi, dword [ecx + 4]
push esi
call eax
add esp, 0x10
xor ecx, ecx
mov edx, 4
jmp 0x45e46f
mov edx, dword [ebp - 0xfc]
mov dword [edx + 0x124], 5
jmp 0x45e392
mov edx, dword [eax + 0x44]
test edx, edx
je 0x45fd61
push edi
push ebx
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi + 0x24]
mov esi, dword [eax + 0x10]
push esi
mov ecx, dword [edi + 4]
push ecx
call edx
add esp, 0x10
jmp 0x45fd61
push eax
push eax
push 0xfa
push edx
call fcn.004385a0
add esp, 0x10
test eax, eax
jg 0x45e382
sub esp, 0xc
mov edi, dword [ebp - 0xfc]
push edi
call fcn.0044d5b0
add esp, 0x10
jmp 0x45e382