Function at 0x411f80
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x66c
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], ebx
mov edi, dword [eax + 4]
test edi, edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], eax
je 0x414dce
xor edx, edx
mov ebx, 1
mov esi, dword [edi + 0x58]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edx
test byte [edi + 0x184], 0x20
jne 0x414cab
mov ecx, dword [esi + 0x14]
cmp ecx, 1
jle 0x412094
mov eax, dword [esi + 0x44]
lea edx, [ecx - 1]
mov dword [ebp - 4], edx
and eax, 1
mov dword [esi + 0x14], edx
add eax, eax
mov edx, dword [esi + 0x40]
mov dword [esi + 0x90], edx
movzx edx, byte [esi + 0xa8]
and edx, 0xfffffffd
or edx, eax
mov byte [esi + 0xa8], dl
movzx edx, byte [esi + 0xa7]
test dl, 0x10
je 0x4120f4
test dl, 0x20
je 0x4120f4
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4c], eax
movsx eax, byte [eax]
cmp eax, 0x41
jne 0x412039
mov eax, dword [ebp - 0x4c]
lea edx, [eax + 2]
mov dword [ebp + 0xc], edx
movsx eax, byte [eax + 2]
movzx edx, byte [esi + 0xa7]
cmp eax, 2
je 0x413651
and edx, 0xffffffdf
cmp eax, 1
je 0x413630
and edx, 0xffffffbf
mov byte [esi + 0xa7], dl
push edi
mov dword [ebp - 0x48], ecx
call fcn.00440ec0
mov ecx, dword [ebp - 0x48]
add esp, 4
test eax, eax
jne 0x414a00
movzx edx, byte [esi + 0xa7]
test dl, 0x10
je 0x412083
test dl, 0x20
jne 0x414dbc
mov ecx, dword [ebp - 4]
mov dword [esi + 0x14], ecx
or edx, 0x20
mov byte [esi + 0xa7], dl
jmp 0x4120f4
mov ecx, dword [ebp + 0xc]
movsx eax, byte [ecx]
cmp eax, 0x41
jne 0x4120a9
lea edx, [ecx + 2]
mov dword [ebp + 0xc], edx
movsx eax, byte [ecx + 2]
cmp eax, 2
je 0x414c89
movzx edx, byte [esi + 0xa7]
and edx, 0xffffffdf
cmp eax, 1
je 0x414c68
and edx, 0xffffffbf
mov byte [esi + 0xa7], dl
push edi
call fcn.00440ec0
add esp, 4
test eax, eax
jne 0x414bf7
movzx edx, byte [esi + 0xa7]
test dl, 0x10
je 0x4120f4
test dl, 0x20
jne 0x414bdd
movsx ecx, byte [esi + 0xa0]
add ecx, 0xfffffffe
cmp ecx, 0x1a
ja case.0x412107.3
jmp dword [ecx*4 + 0x4e9ba0]
mov edx, dword [esi + 0x94]
mov dword [ebp - 0x6c], edx
mov edx, dword [edi + 0x3c]
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x60], eax
mov ecx, dword [edi + 0x44]
mov dword [ebp - 0x68], ecx
add eax, edx
cmp ecx, eax
jb 0x413692
cmp dword [ebp - 0x60], 0
jg 0x41366c
mov ecx, dword [edi + 0x4c]
cmp edx, ecx
mov dword [edi + 0x130], 0
ja 0x412150
mov edx, ecx
mov dword [edi + 0x4c], edx
or byte [edi + 0x181], 0x80
jmp 0x411fb9
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x412179
cmp byte [edx + 0x1e], 0
je 0x412179
mov byte [edx + 0x1e], 0
mov dword [ebp - 0x64], 1
jmp 0x412180
mov dword [ebp - 0x64], 0
movzx edx, byte [edi + 0x17d]
test dl, 0x40
je 0x412199
cmp byte [edi + 0x168], 1
je 0x41386c
push edi
call fcn.00435cb0
add esp, 4
test eax, eax
jne 0x4137fb
add dword [edi + 0xa0], 1
push 0
push edi
adc dword [edi + 0xa4], 0
and byte [edi + 0x17f], 0xfb
call fcn.00437060
add esp, 8
test eax, eax
jne 0x413776
movsx edx, byte [edi + 0x166]
mov dword [ebp - 0x70], edx
lea edx, [edx - 1]
cmp edx, 7
ja case.default.0x4121e8
jmp dword [edx*4 + 0x4e9c20]
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4121fb
mov dword [edi + 0x3c], eax
jmp 0x412201
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0x100]
movzx ecx, byte [edi + 0x178]
lea edx, [eax + edx - 1]
mov dword [edi + 0x44], edx
jmp 0x41232b
mov eax, dword [edi + 0x18]
test eax, eax
je 0x413757
test byte [eax + 0x44], 2
je 0x41225a
mov edx, 0x2c
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x412248
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x2c
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x2c
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x40]
test eax, eax
je 0x412290
add eax, 4
jmp 0x412296
mov eax, dword [edi + 0x38]
add eax, 4
mov edx, dword [edi + 0x100]
mov dword [edi + 0x3c], eax
movzx ecx, byte [edi + 0x178]
lea edx, [eax + edx - 8]
mov dword [edi + 0x44], edx
jmp 0x41232b
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4122bb
mov dword [edi + 0x3c], eax
jmp 0x4122c1
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0x100]
movzx ecx, byte [edi + 0x178]
test cl, 4
mov dword [ebp - 0x208], edx
lea edx, [eax + edx]
je 0x4122f4
test byte [edi + 0x17a], 0x40
je 0x4122f4
test byte [edi + 0x17b], 8
je 0x4122f4
cmp dword [ebp - 0x70], 1
je 0x4122f9
mov dword [edi + 0x44], edx
jmp 0x41232b
mov edx, dword [ebp - 0x208]
lea edx, [eax + edx - 2]
mov dword [edi + 0x44], edx
jmp 0x41232b
push 0x4d3
push str.for_wseq_fmt.c
push 2
push 8
call fcn.0040b430
add esp, 0x10
movzx ecx, byte [edi + 0x178]
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + 0x44]
test cl, 4
je 0x41234b
test byte [edi + 0x17a], 0x40
je 0x41234b
test byte [edi + 0x17b], 8
je 0x41234b
cmp byte [edi + 0x166], 1
je 0x412398
movsx ecx, byte [edi + 0x168]
cmp ecx, 2
jne 0x412373
movsx ecx, byte [edi + 0x166]
cmp ecx, 7
je 0x412398
cmp ecx, 6
je 0x412398
cmp ecx, 8
je 0x412398
dec edx
mov dword [edi + 0x44], edx
jmp 0x412398
cmp ecx, 1
jne 0x412398
movsx ecx, byte [edi + 0x166]
cmp ecx, 7
je 0x412392
cmp ecx, 6
je 0x412392
cmp ecx, 8
je 0x412392
dec edx
mov dword [edi + 0x44], edx
add eax, 5
mov dword [edi + 0x3c], eax
sub edx, eax
push edx
push 0x20
push eax
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], eax
call fcn.004cda30
add esp, 0xc
mov dword [edi + 0x130], 0
cmp dword [ebp - 0x64], 0
je 0x411fb9
mov edx, dword [edi + 0x7c]
mov byte [edx + 0x1e], 1
jmp 0x411fb9
cmp ebx, 2
jge 0x411fb9
jmp 0x4138a3
test byte [edi + 0x178], 4
je 0x4123f5
mov edx, dword [edi + 0x7c]
mov byte [edx + 0x1e], 1
mov ecx, dword [edi + 0x7c]
mov dword [ecx + 0xc], edi
jmp 0x411fb9
or byte [edi + 0x17d], 0x40
jmp 0x411fb9
cmp ebx, 1
jle 0x41251e
mov edx, dword [ebp - 0x39c]
cmp edx, 7
je 0x41241e
cmp edx, 8
jne 0x4124f2
cmp dword [ebp - 0x20], 0
je 0x412437
mov edx, dword [ebp - 0x28]
dec ebx
add dword [ebp - 0x34], edx
mov dword [ebp - 0x20], 0
jmp 0x4127d4
cmp dword [ebp - 0x1c], 0
mov edx, dword [ebp - 0x20]
je 0x412445
mov edx, 1
mov ecx, dword [ebp - 0x398]
test ecx, ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x5c], ecx
jle 0x4124cd
mov edx, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor edx, edx
sar ecx, 1
test ecx, ecx
jbe 0x4138f1
mov dword [ebp - 0x40], edi
xor eax, eax
mov edi, dword [ebp + eax*8 - 0x1e4]
sub edi, dword [ebp + eax*8 - 0xec]
imul edi, dword [ebp + eax*8 - 0x168]
add edx, edi
mov edi, dword [ebp + eax*8 - 0x1e0]
sub edi, dword [ebp + eax*8 - 0xe8]
imul edi, dword [ebp + eax*8 - 0x164]
inc eax
add edx, edi
cmp eax, ecx
jb 0x41246f
mov edi, dword [ebp - 0x40]
lea ecx, [eax + eax + 1]
lea eax, [ecx - 1]
cmp eax, dword [ebp - 0x5c]
jae 0x4124cf
mov eax, dword [ebp + ecx*4 - 0x1e8]
sub eax, dword [ebp + ecx*4 - 0xf0]
imul eax, dword [ebp + ecx*4 - 0x16c]
add edx, eax
jmp 0x4124cf
xor edx, edx
add edx, dword [ebp - 0x394]
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x34], edx
lea edx, [ebp - 0x39c]
push edx
push ecx
push 0
call fcn.00439050
add esp, 0xc
jmp 0x412507
mov ecx, dword [ebp - 0x20]
test ecx, ecx
mov edx, dword [ebp - 0x28]
je 0x412501
mov ecx, 0
add dword [ebp - 0x34], edx
mov dword [ebp - 0x20], ecx
mov dword [edi + 0x130], 0
dec ebx
or byte [edi + 0x181], 0x80
jmp 0x4127d4
lea eax, [ebp - 0x39c]
push eax
lea edx, [ebp - 0x34]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea ebx, [ebp + 0xc]
push ebx
call fcn.00440b60
add esp, 0x10
test eax, eax
jne 0x414928
mov eax, dword [ebp - 0x2c]
cmp eax, 2
je 0x414d9b
cmp eax, 1
je 0x41336a
cmp eax, 0x41
je 0x414890
mov eax, dword [ebp - 0x39c]
cmp eax, 7
jl 0x412745
cmp eax, 8
jg 0x412745
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x412588
mov eax, dword [ebp - 0x30]
cdq
idiv ecx
mov ebx, eax
jmp 0x412598
test byte [edi + 0x178], 2
je 0x412737
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x412739
mov ecx, dword [ebp - 0x2c]
lea edx, [ecx - 0x1c]
cmp edx, 0x10
jbe 0x4125b9
cmp ecx, 0x34
je 0x4125b9
mov dword [ebp - 0x1c], 0
jmp 0x4125c4
mov edx, 1
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x398]
test edx, edx
mov dword [ebp - 0x3a4], edx
jle 0x41270f
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
test eax, eax
jbe 0x413905
mov dword [ebp - 0x3c], esi
xor ecx, ecx
mov dword [ebp - 0x40], edi
nop
lea esi, [esi]
lea edi, [edi]
lea edx, [ecx + ecx*2]
mov esi, dword [ebp + edx*8 - 0x388]
mov dword [ebp + ecx*8 - 0x168], esi
mov edi, dword [ebp + edx*8 - 0x38c]
mov esi, dword [ebp + edx*8 - 0x380]
mov edx, dword [ebp + edx*8 - 0x37c]
mov dword [ebp + ecx*8 - 0xec], edi
mov dword [ebp + ecx*8 - 0x1e4], edi
mov dword [ebp + ecx*8 - 0xe8], esi
mov dword [ebp + ecx*8 - 0x164], edx
mov dword [ebp + ecx*8 - 0x1e0], esi
inc ecx
cmp ecx, eax
jb 0x412600
mov esi, dword [ebp - 0x3c]
lea ecx, [ecx + ecx + 1]
mov edi, dword [ebp - 0x40]
lea edx, [ecx - 1]
cmp edx, dword [ebp - 0x3a4]
jae 0x412690
lea edx, [ecx*8]
lea eax, [edx + ecx*4]
mov edx, dword [ebp + eax - 0x398]
mov eax, dword [ebp + eax - 0x394]
mov dword [ebp + ecx*4 - 0xf0], edx
mov dword [ebp + ecx*4 - 0x16c], eax
mov dword [ebp + ecx*4 - 0x1e8], edx
mov edx, dword [ebp - 0x3a4]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor edx, edx
sar ecx, 1
test ecx, ecx
jbe 0x4138fb
mov dword [ebp - 0x40], edi
xor eax, eax
mov edi, dword [ebp + eax*8 - 0x1e4]
sub edi, dword [ebp + eax*8 - 0xec]
imul edi, dword [ebp + eax*8 - 0x168]
add edx, edi
mov edi, dword [ebp + eax*8 - 0x1e0]
sub edi, dword [ebp + eax*8 - 0xe8]
imul edi, dword [ebp + eax*8 - 0x164]
inc eax
add edx, edi
cmp eax, ecx
jb 0x4126ae
mov edi, dword [ebp - 0x40]
lea ecx, [eax + eax + 1]
lea eax, [ecx - 1]
cmp eax, dword [ebp - 0x3a4]
jae 0x412711
mov eax, dword [ebp + ecx*4 - 0x1e8]
sub eax, dword [ebp + ecx*4 - 0xf0]
imul eax, dword [ebp + ecx*4 - 0x16c]
add edx, eax
jmp 0x412711
xor edx, edx
add edx, dword [ebp - 0x394]
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x34], edx
lea edx, [ebp - 0x39c]
push edx
push ecx
push 0
call fcn.00439050
add esp, 0xc
jmp 0x4127c3
xor ebx, ebx
mov dword [ebp - 0x18], 1
jmp 0x4127da
cmp eax, 6
je 0x41274f
cmp eax, 5
jne 0x4127a0
movzx ecx, byte [edi + 0x178]
and ecx, 2
mov edx, dword [ebp - 0x28]
shr ecx, 1
mov ebx, dword [ebp - 0x30]
test edx, edx
mov dword [ebp - 0x1e8], edx
je 0x41277e
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1e8]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x412789
jmp 0x4127d4
test ecx, ecx
jne 0x412787
mov ebx, 0
je 0x4127d4
test ebx, ebx
jne 0x4127c3
mov dword [edi + 0x130], 1
mov dword [ebp - 0x18], 1
jmp 0x4127da
mov edx, dword [ebp - 0x2c]
lea eax, [edx - 0x1c]
cmp eax, 0x10
jbe 0x4127b7
cmp edx, 0x34
je 0x4127b7
mov ebx, 1
jmp 0x4127c3
mov dword [ebp - 0x20], 1
mov ebx, 2
mov dword [edi + 0x130], 0
or byte [edi + 0x181], 0x80
cmp dword [ebp - 0x18], 0
je 0x4127f6
mov edx, dword [esi + 0x14]
test edx, edx
jne 0x4127ed
mov dword [esi + 0x14], 2
jmp 0x411fb9
inc edx
mov dword [esi + 0x14], edx
jmp 0x411fb9
cmp dword [ebp - 0x2c], 0x40
je 0x413cb6
movsx ecx, byte [esi + 0xa0]
cmp ecx, 0x74
je 0x413c31
mov edx, dword [esi]
and byte [esi + 0xa7], 0xf7
movzx edx, byte [edx + 0x17e]
test edx, 0x80
je 0x412848
mov edx, dword [ecx*4 + 0x4ed2e0]
test edx, edx
je 0x412848
mov eax, dword [ebp - 0x2c]
movsx edx, byte [edx + eax]
test edx, edx
je 0x412848
mov dword [ebp - 0x2c], edx
movsx ecx, byte [esi + 0xa0]
lea edx, [ecx - 0x13]
cmp edx, 0x20
ja case.default.0x412854
jmp dword [edx*4 + 0x4e9c60]
mov eax, dword [esi + 0x90]
test eax, eax
jne 0x4128a3
movzx edx, byte [esi + 0xa8]
or edx, 2
mov byte [esi + 0xa8], dl
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x2c]
movsx eax, word [edx*2 + 0x4ed160]
cmp eax, 0xffffffff
mov dword [esi + 0x90], eax
je 0x41390f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x412d9c
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
movzx edx, byte [esi + 0xa8]
mov dword [ebp - 0x50], edx
jmp 0x412d9c
mov edx, dword [ebp - 0x2c]
movsx eax, word [edx*2 + 0x4ed160]
cmp eax, 0xffffffff
mov dword [esi + 0x90], eax
je 0x413936
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
mov eax, dword [esi + 0x90]
test eax, eax
jne 0x41292d
movzx edx, byte [esi + 0xa8]
or edx, 2
mov byte [esi + 0xa8], dl
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx + 0x4ed100]
cmp eax, 0xffffffff
mov dword [esi + 0x90], eax
je 0x41395d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x412d9c
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
mov eax, dword [esi + 0x90]
test eax, eax
jne 0x41297c
movzx edx, byte [esi + 0xa8]
add ecx, 0xffffffd8
or edx, 2
mov byte [esi + 0xa8], dl
cmp ecx, 0x20
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx + 0x4ed55e]
mov dword [esi + 0x90], eax
jb 0x412d5e
jmp 0x412d9c
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
mov eax, dword [esi + 0x90]
test eax, eax
jne 0x412a69
or byte [esi + 0xa9], 4
mov edx, dword [ebp - 0x2c]
lea eax, [edx - 0x19]
mov dword [ebp - 0x418], eax
cmp eax, 0x1b
ja 0x412a1c
movzx edx, byte [esi + 0xa8]
or edx, 2
mov dword [ebp - 0x50], edx
mov byte [esi + 0xa8], dl
mov edx, eax
movsx eax, word [edx*8 + 0x4ed200]
movsx edx, word [esi + 0x98]
test edx, edx
mov dword [esi + 0x90], eax
jne 0x4129f6
mov edx, dword [ebp - 0x418]
movzx edx, word [edx*8 + 0x4ed204]
mov word [esi + 0x98], dx
mov edx, dword [ebp - 0x418]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx edx, word [edx*8 + 0x4ed206]
mov word [esi + 0x9a], dx
jb 0x412d5e
jmp 0x412d9c
lea eax, [edx - 5]
cmp eax, 0xc
ja 0x412a58
movzx edx, byte [esi + 0xa8]
add ecx, 0xffffffd8
or edx, 2
mov byte [esi + 0xa8], dl
cmp ecx, 0x20
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx + 0x4ed55e]
mov dword [esi + 0x90], eax
jb 0x412d5e
jmp 0x412d9c
and edx, 0xfffffffe
cmp edx, 0x38
je 0x413984
jmp 0x412c8f
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
mov eax, dword [esi + 0x90]
test eax, eax
jne 0x412ae0
or byte [esi + 0xa9], 4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x40c], edx
lea edx, [edx - 5]
cmp edx, 0xc
ja 0x412abe
or byte [esi + 0xa8], 2
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx + 0x4ed55e]
mov dword [esi + 0x90], eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x40c], edx
jmp 0x412ae9
mov edx, dword [ebp - 0x40c]
and edx, 0xfffffffe
cmp edx, 0x38
jne 0x412ae9
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x90], eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x40c], edx
jmp 0x412ae9
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x40c], edx
cmp dword [ebp - 0x40c], 0x19
jge case.0x412854.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
mov eax, dword [esi + 0x90]
test eax, eax
jne 0x412b4b
movzx edx, byte [esi + 0xa8]
add ecx, 0xffffffd8
or edx, 2
mov byte [esi + 0xa8], dl
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x2c]
movsx eax, word [edx*8 + 0x4ed13a]
movsx edx, word [esi + 0x98]
add eax, edx
mov dword [esi + 0x90], eax
cmp ecx, 0x20
jb 0x412d5e
jmp 0x412d9c
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x412d8c
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx + 0x4ed100]
cmp eax, 0xffffffff
mov dword [esi + 0x90], eax
je 0x41399e
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffffb
cmp edx, 0xc
ja 0x412c8f
add ecx, 0xffffffd8
mov eax, 2
mov dword [esi + 0x90], 2
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
mov eax, dword [ebp - 0x2c]
lea edx, [eax - 5]
cmp edx, 0xc
ja 0x412c8f
add ecx, 0xffffffd8
movsx eax, byte [eax + 0x4ed55e]
cmp ecx, 0x20
mov dword [esi + 0x90], eax
jb 0x412d5e
jmp 0x4128af
or byte [esi + 0xa9], 4
mov edx, dword [ebp - 0x2c]
lea eax, [edx - 0x19]
cmp eax, 0x1b
ja 0x412c50
mov edx, eax
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx eax, word [edx*8 + 0x4ed200]
mov dword [ebp - 0x204], eax
mov dword [esi + 0x90], eax
movzx eax, word [edx*8 + 0x4ed204]
movzx edx, word [edx*8 + 0x4ed206]
mov word [esi + 0x98], ax
mov word [esi + 0x9a], dx
mov eax, dword [ebp - 0x204]
jb 0x412d5e
jmp 0x4128af
lea eax, [edx - 5]
cmp eax, 0xc
ja 0x412c76
add ecx, 0xffffffd8
movsx eax, byte [edx + 0x4ed55e]
cmp ecx, 0x20
mov dword [esi + 0x90], eax
jb 0x412d5e
jmp 0x4128af
and edx, 0xfffffffe
cmp edx, 0x38
je 0x4139c5
jmp 0x412c8f
mov edx, dword [ebp - 0x2c]
add edx, 0xffffffe7
cmp edx, 0x1b
jbe 0x412cfb
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x412d60
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4139df
test byte [edx + 0x44], 2
je 0x412cd6
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x412cc9
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx eax, word [edx*8 + 0x4ed200]
mov dword [ebp - 0x204], eax
mov dword [esi + 0x90], eax
movzx eax, word [edx*8 + 0x4ed204]
movzx edx, word [edx*8 + 0x4ed206]
mov word [esi + 0x98], ax
mov word [esi + 0x9a], dx
mov eax, dword [ebp - 0x204]
jb 0x412d5e
jmp 0x4128af
add ecx, 0xffffffd8
mov eax, dword [ebp - 0x28]
cmp ecx, 0x20
mov dword [esi + 0x90], eax
jb 0x412d5e
jmp 0x4128af
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x412d8c
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x412d84
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x90]
cmp ecx, edx
jge 0x412d7e
mov ecx, edx
mov dword [esi + 0x90], ecx
test eax, eax
jne 0x412ca0
movzx edx, byte [esi + 0xa8]
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x50], edx
test byte [ebp - 0x50], 2
je 0x412e70
test eax, eax
jle 0x412dbe
movsx edx, word [esi + 0x98]
cmp edx, eax
jle 0x412dbe
lea eax, [edx + 1]
mov dword [esi + 0x90], eax
cmp eax, 0x40
ja 0x412dd5
mov dword [ebp - 0x24], 0
lea edx, [ebp - 0x404]
mov dword [ebp - 0x44], edx
jmp 0x412df2
lea edx, [ebp - 0x44]
push edx
push 0
push eax
call fcn.00431e20
add esp, 0xc
test eax, eax
jne 0x413a6a
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x24], edx
push dword [esi + 0x90]
push 0x20
push edx
call fcn.004cda30
push dword [ebp - 0x44]
push esi
lea edx, [ebp - 0x34]
push edx
call fcn.00441b40
add esp, 0x18
test eax, eax
je 0x412e2d
cmp eax, 0x3f
jne 0x4139f9
test byte [edi + 0x17f], 8
jne 0x412e2d
mov dword [esi + 0x18], 0x3f
mov eax, dword [esi + 0x90]
test eax, eax
je 0x412e52
mov edx, dword [ebp - 0x44]
cmp byte [edx], 0x20
jne 0x412e70
inc edx
mov dword [ebp - 0x44], edx
mov eax, dword [esi + 0x90]
dec eax
mov dword [esi + 0x90], eax
jne 0x412e37
movsx edx, word [esi + 0x98]
test edx, edx
jne 0x412e70
mov dword [esi + 0x90], 1
dec dword [ebp - 0x44]
mov eax, dword [esi + 0x90]
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0x54], ecx
mov edx, dword [edi + 0x44]
mov dword [ebp - 0x58], edx
add ecx, eax
cmp edx, ecx
jb 0x413b76
movzx edx, byte [esi + 0xa8]
test dl, 2
je 0x412f10
cmp dword [esi + 0x90], 0
jne 0x412ec4
and edx, 0xfffffffd
mov byte [esi + 0xa8], dl
mov dword [esi + 0x90], 0
cmp dword [ebp - 0x24], 0
je 0x412ebf
push dword [ebp - 0x24]
call fcn.00431ee0
add esp, 4
mov ecx, dword [edi + 0x3c]
jmp 0x412f34
mov ecx, dword [ebp - 0x44]
mov eax, dword [edi + 0x3c]
movzx edx, byte [ecx]
mov byte [eax], dl
inc dword [edi + 0x3c]
inc dword [ebp - 0x44]
mov edx, dword [esi + 0x90]
dec edx
je 0x413adb
mov dword [esi + 0x90], edx
mov edx, dword [ebp - 0x44]
movsx edx, byte [edx]
cmp edx, 0x20
je 0x413adb
mov ecx, dword [edi + 0x3c]
mov byte [ecx], dl
inc dword [edi + 0x3c]
inc dword [ebp - 0x44]
mov edx, dword [esi + 0x90]
dec edx
jne 0x412ee2
jmp 0x413adb
push dword [edi + 0x3c]
push esi
lea edx, [ebp - 0x34]
push edx
call fcn.00441b40
add esp, 0xc
test eax, eax
jne 0x413ae7
mov ecx, dword [esi + 0x90]
add ecx, dword [edi + 0x3c]
mov dword [edi + 0x3c], ecx
mov edx, dword [edi + 0x4c]
cmp ecx, edx
ja 0x412f3d
mov ecx, edx
mov dword [edi + 0x4c], ecx
jmp 0x411fb9
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 1
je 0x414bcf
cmp ecx, 2
je 0x414bb0
test byte [esi + 0xa6], 0x20
jne 0x413009
test byte [edi + 0x178], 2
je 0x412f9f
test edx, 0x80
je 0x412f9f
push ebx
lea edx, [ebp - 0x39c]
push edx
lea ecx, [ebp - 0x34]
push ecx
lea eax, [ebp + 0x10]
push eax
lea edx, [ebp + 0xc]
push edx
call fcn.00440e30
add esp, 0x14
test eax, eax
jne 0x4149b8
mov eax, dword [edi + 0x18]
test eax, eax
je 0x414999
test byte [eax + 0x44], 2
je 0x412fdf
mov edx, 0x69
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x412fcd
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x69
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x69
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x413021
cmp byte [edx + 0x1e], 0
je 0x413021
mov byte [edx + 0x1e], 0
mov ecx, 1
jmp 0x413023
xor ecx, ecx
cmp dword [edi + 0x130], 0
je 0x413052
movzx edx, byte [edi + 0x181]
test edx, 0x80
mov dword [edi + 0x130], 0
jne 0x413052
cmp dword [edi + 0x138], 0
jne 0x41332e
movzx edx, byte [edi + 0x17d]
test dl, 0x40
mov dword [ebp - 0x1f0], edx
je 0x413071
cmp byte [edi + 0x168], 1
je 0x414b67
push edi
mov dword [ebp - 0x1ec], ecx
call fcn.00435cb0
mov ecx, dword [ebp - 0x1ec]
add esp, 4
test eax, eax
jne 0x414af6
add dword [edi + 0xa0], 1
push 0
push edi
adc dword [edi + 0xa4], 0
and byte [edi + 0x17f], 0xfb
mov dword [ebp - 0x1ec], ecx
call fcn.00437060
mov ecx, dword [ebp - 0x1ec]
add esp, 8
test eax, eax
jne 0x414a71
movsx edx, byte [edi + 0x166]
mov dword [ebp - 0x1f4], edx
lea edx, [edx - 1]
cmp edx, 7
ja case.default.0x4130db
jmp dword [edx*4 + 0x4e9c40]
mov edx, dword [edi + 0x40]
test edx, edx
je 0x4130ee
mov dword [edi + 0x3c], edx
jmp 0x4130f4
mov edx, dword [edi + 0x38]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x100]
lea eax, [edx + eax - 1]
mov dword [ebp - 0x1fc], eax
mov dword [edi + 0x44], eax
movzx eax, byte [edi + 0x178]
mov dword [ebp - 0x1f8], eax
jmp 0x41326a
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4149e1
test byte [eax + 0x44], 2
je 0x413159
mov edx, 0x2c
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x413147
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x2c
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x2c
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x40]
test edx, edx
je 0x41318f
add edx, 4
jmp 0x413195
mov edx, dword [edi + 0x38]
add edx, 4
mov eax, dword [edi + 0x100]
mov dword [edi + 0x3c], edx
lea eax, [edx + eax - 8]
mov dword [ebp - 0x1fc], eax
mov dword [edi + 0x44], eax
movzx eax, byte [edi + 0x178]
mov dword [ebp - 0x1f8], eax
jmp 0x41326a
mov edx, dword [edi + 0x40]
test edx, edx
je 0x4131c9
mov dword [edi + 0x3c], edx
jmp 0x4131cf
mov edx, dword [edi + 0x38]
mov dword [edi + 0x3c], edx
mov eax, dword [edi + 0x100]
mov dword [ebp - 0x414], eax
add eax, edx
mov dword [ebp - 0x1fc], eax
movzx eax, byte [edi + 0x178]
test al, 4
mov dword [ebp - 0x1f8], eax
je 0x41320f
test byte [edi + 0x17a], 0x40
je 0x41320f
test byte [edi + 0x17b], 8
je 0x41320f
cmp dword [ebp - 0x1f4], 1
je 0x41321a
mov eax, dword [ebp - 0x1fc]
mov dword [edi + 0x44], eax
jmp 0x41326a
mov eax, dword [ebp - 0x414]
lea eax, [edx + eax - 2]
mov dword [ebp - 0x1fc], eax
mov dword [edi + 0x44], eax
jmp 0x41326a
push 0x5a5
push str.for_wseq_fmt.c
push 2
push 8
mov dword [ebp - 0x1ec], ecx
call fcn.0040b430
mov ecx, dword [ebp - 0x1ec]
add esp, 0x10
movzx edx, byte [edi + 0x178]
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x1f8], edx
mov edx, dword [edi + 0x3c]
mov dword [ebp - 0x1fc], eax
test byte [ebp - 0x1f8], 4
je 0x41328e
test byte [edi + 0x17a], 0x40
je 0x41328e
test byte [edi + 0x17b], 8
je 0x41328e
cmp byte [edi + 0x166], 1
je 0x4132f3
movsx eax, byte [edi + 0x168]
cmp eax, 2
jne 0x4132c2
movsx eax, byte [edi + 0x166]
cmp eax, 7
je 0x4132f3
cmp eax, 6
je 0x4132f3
cmp eax, 8
je 0x4132f3
mov eax, dword [ebp - 0x1fc]
dec eax
mov dword [ebp - 0x1fc], eax
mov dword [edi + 0x44], eax
jmp 0x4132f3
cmp eax, 1
jne 0x4132f3
movsx eax, byte [edi + 0x166]
cmp eax, 7
je 0x4132ed
cmp eax, 6
je 0x4132ed
cmp eax, 8
je 0x4132ed
mov eax, dword [ebp - 0x1fc]
dec eax
mov dword [ebp - 0x1fc], eax
mov dword [edi + 0x44], eax
add edx, 5
mov dword [edi + 0x3c], edx
mov eax, dword [ebp - 0x1fc]
sub eax, edx
push eax
push 0x20
push edx
mov dword [edi + 0x48], edx
mov dword [edi + 0x4c], 0
mov dword [ebp - 0x1ec], ecx
call fcn.004cda30
mov ecx, dword [ebp - 0x1ec]
add esp, 0xc
mov dword [edi + 0x138], 1
and byte [edi + 0x181], 0x7f
test ecx, ecx
je 0x413339
mov edx, dword [edi + 0x7c]
mov byte [edx + 0x1e], 1
mov edx, dword [edi + 0x3c]
lea ecx, [ebp + 0x10]
push ebx
mov dword [edi + 0x4c], edx
lea edx, [ebp + 0xc]
push ecx
push edx
call fcn.00440ac0
add esp, 0xc
cmp eax, 1
jne 0x411fb9
and byte [edi + 0x181], 0x7f
mov dword [edi + 0x13c], 1
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x41337b
cmp byte [eax + 0x1e], 0
jne 0x413492
movzx eax, word [edi + 0x164]
test eax, eax
jg 0x413492
cmp dword [edi + 0x13c], 0
je 0x4133a1
mov dword [edi + 0x13c], 0
xor edx, edx
jmp 0x4133a6
mov edx, 1
cmp dword [edi + 0x130], 0
jne 0x4133be
cmp dword [ebp - 0x18], 0
je 0x4133ee
cmp dword [edi + 0x138], 0
je 0x4133ee
movzx eax, byte [edi + 0x181]
test eax, 0x80
mov dword [edi + 0x130], 0
je 0x4133e1
and eax, 0x7f
mov byte [edi + 0x181], al
jmp 0x4133f6
cmp dword [edi + 0x138], 0
jne 0x413492
test edx, edx
je 0x413492
movzx eax, byte [edi + 0x17d]
test al, 0x40
je 0x41340e
cmp byte [edi + 0x168], 1
je 0x4135c5
push edi
call fcn.00435cb0
add esp, 4
test eax, eax
je 0x413476
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4135ab
test byte [edx + 0x44], 2
je 0x413451
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x413444
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
add dword [edi + 0xa0], 1
adc dword [edi + 0xa4], 0
and byte [edi + 0x17f], 0xfb
and byte [edi + 0x181], 0x7f
movzx eax, byte [esi + 0xa7]
test al, 2
je 0x413510
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0xa7], al
call fcn.00431ee0
add esp, 4
test eax, eax
je 0x413510
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4135fc
test byte [edx + 0x44], 2
je 0x4134eb
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4134de
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x18]
test edx, edx
je 0x413578
mov eax, dword [edi + 0x18]
test eax, eax
je 0x413616
test byte [eax + 0x44], 2
je 0x413553
mov dword [eax + 0x38], edx
mov edx, dword [edi + 0x18]
mov eax, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x413543
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, dword [esi + 0x18]
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edx
movzx eax, byte [edi + 0x17c]
push edx
and eax, 7
push eax
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push dword [edi + 0x108]
and byte [edi + 0x17c], 0xdc
and byte [edi + 0x17e], 0xf7
call fcn.004325f0
add esp, 4
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov dword [edx + 4], 0
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x38]
movsx edx, byte [ecx + 5]
cmp edx, 0x20
je 0x4135ef
cmp edx, 0x2b
jne 0x4135e1
mov byte [ecx + 5], 0
movzx eax, byte [edi + 0x17d]
and eax, 0xffffffbf
mov byte [edi + 0x17d], al
jmp 0x41340e
mov byte [ecx + 5], 0x24
movzx eax, byte [edi + 0x17d]
jmp 0x4135e1
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push edx
push edx
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x20], 0
jne 0x41204e
cmp ebx, 1
jg 0x41204e
or edx, 0x40
mov byte [esi + 0xa7], dl
jmp 0x412057
cmp dword [ebp - 0x20], 0
jne 0x412042
cmp ebx, 1
jg 0x412042
or edx, 0x20
jmp 0x41204e
mov dword [ebp - 0x38], ebx
xor ecx, ecx
mov ebx, dword [ebp - 0x6c]
movzx eax, byte [ecx + ebx]
inc ecx
mov byte [edx], al
mov edx, dword [edi + 0x3c]
inc edx
mov dword [edi + 0x3c], edx
cmp ecx, dword [esi + 0x90]
jl 0x413674
mov ebx, dword [ebp - 0x38]
jmp 0x41213d
mov ecx, eax
sub ecx, dword [ebp - 0x68]
cmp ecx, 0x200
mov edx, dword [edi + 0x100]
jge 0x4136aa
mov ecx, 0x200
shr edx, 3
cmp ecx, edx
jge 0x4136b3
mov ecx, edx
push ecx
push edi
call fcn.00438e40
add esp, 8
test eax, eax
jne 0x4136d2
mov ecx, dword [esi + 0x90]
mov edx, dword [edi + 0x3c]
mov dword [ebp - 0x60], ecx
jmp 0x412133
mov eax, dword [edi + 0x18]
test eax, eax
je 0x413738
test byte [eax + 0x44], 2
je 0x41370e
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4136fc
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x42
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x42
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4137dc
test byte [eax + 0x44], 2
je 0x4137b2
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x4137a0
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x26
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x26
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x413852
test byte [edx + 0x44], 2
je 0x41382d
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x413820
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x38]
movsx ecx, byte [eax + 5]
cmp ecx, 0x20
je 0x413896
cmp ecx, 0x2b
jne 0x413888
mov byte [eax + 5], 0
movzx edx, byte [edi + 0x17d]
and edx, 0xffffffbf
mov byte [edi + 0x17d], dl
jmp 0x412199
mov byte [eax + 5], 0x24
movzx edx, byte [edi + 0x17d]
jmp 0x413888
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 1
je 0x41336a
cmp edx, 2
jne 0x4138cd
xor eax, eax
mov dword [esi + 0x14], 2
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push ebx
lea edx, [ebp + 0x10]
push edx
lea ecx, [ebp + 0xc]
push ecx
call fcn.00440ac0
add esp, 0xc
cmp eax, 2
je 0x4138b7
cmp eax, 1
jne 0x411fb9
jmp 0x41336a
mov ecx, 1
jmp 0x4124ab
mov ecx, 1
jmp 0x4126ea
mov ecx, 1
jmp 0x412658
mov eax, dword [ebp - 0x28]
add ecx, 0xffffffd8
shl eax, 3
cmp eax, 0x11
jge 0x413922
mov eax, 0x11
mov dword [esi + 0x90], eax
cmp ecx, 0x20
jb 0x412d5e
jmp 0x412d9c
mov eax, dword [ebp - 0x28]
add ecx, 0xffffffd8
shl eax, 3
cmp eax, 0x11
jge 0x413949
mov eax, 0x11
mov dword [esi + 0x90], eax
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
mov edx, dword [ebp - 0x28]
add ecx, 0xffffffd8
lea eax, [edx + edx*2]
cmp eax, 7
jge 0x413970
mov eax, 7
mov dword [esi + 0x90], eax
cmp ecx, 0x20
jb 0x412d5e
jmp 0x412d9c
add ecx, 0xffffffd8
mov eax, dword [ebp - 0x28]
cmp ecx, 0x20
mov dword [esi + 0x90], eax
jb 0x412d5e
jmp 0x4128af
mov edx, dword [ebp - 0x28]
add ecx, 0xffffffd8
lea eax, [edx + edx*2]
cmp eax, 7
jge 0x4139b1
mov eax, 7
mov dword [esi + 0x90], eax
cmp ecx, 0x20
jb 0x412d5e
jmp 0x4128af
add ecx, 0xffffffd8
mov eax, dword [ebp - 0x28]
cmp ecx, 0x20
mov dword [esi + 0x90], eax
jb 0x412d5e
jmp 0x4128af
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x413a50
test byte [edx + 0x44], 2
je 0x413a2b
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x413a1e
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x413ac1
test byte [edx + 0x44], 2
je 0x413a9c
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x413a8f
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
movzx edx, byte [esi + 0xa8]
jmp 0x412e9b
cmp eax, 0x3f
jne 0x413b05
test byte [edi + 0x17f], 8
jne 0x412f28
mov dword [esi + 0x18], 0x3f
jmp 0x412f28
mov edx, dword [edi + 0x18]
test edx, edx
je 0x413b5c
test byte [edx + 0x44], 2
je 0x413b37
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x413b2a
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x58]
add ecx, eax
cmp ecx, 0x200
mov edx, dword [edi + 0x100]
jge 0x413b91
mov ecx, 0x200
shr edx, 3
cmp ecx, edx
jge 0x413b9a
mov ecx, edx
push ecx
push edi
call fcn.00438e40
add esp, 8
test eax, eax
je 0x412e86
mov eax, dword [edi + 0x18]
test eax, eax
je 0x413c12
test byte [eax + 0x44], 2
je 0x413be8
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x413bd6
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x42
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x42
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
test eax, eax
je 0x413c97
test byte [eax + 0x44], 2
je 0x413c6d
mov edx, 0x3d
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x413c5b
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x3d
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x3d
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x3d
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0xa0], 0x74
je 0x413d85
mov dword [ebp - 0x38], ebx
lea eax, [ebp + 0xc]
mov dword [ebp - 0x3c], esi
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x40], edi
lea edx, [ebp - 0x34]
mov esi, eax
mov ebx, edx
mov edi, ecx
lea eax, [ebp - 0x39c]
push eax
push ebx
push edi
push esi
call fcn.00440b60
add esp, 0x10
test eax, eax
jne 0x413d11
mov eax, dword [ebp - 0x2c]
and eax, 0xfffffffe
cmp eax, 0x40
je 0x413cdb
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x40]
movsx ecx, byte [esi + 0xa0]
jmp 0x412810
mov edi, dword [ebp - 0x40]
mov edx, dword [edi + 0x18]
test edx, edx
je 0x413d6b
test byte [edx + 0x44], 2
je 0x413d46
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x413d39
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x108]
inc word [edi + 0x164]
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x218], 0
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x413dc4
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x413dc0
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x413dab
dec eax
mov edx, eax
jmp 0x413dc6
xor edx, edx
mov dword [ebp - 0x20c], edx
lea ecx, [edx + 2]
mov dword [ebp - 0x210], ecx
lea ecx, [ebp - 0x214]
push ecx
push 0
lea eax, [edx + 3]
push eax
call fcn.00431e20
mov edx, dword [ebp - 0x20c]
add esp, 0xc
test eax, eax
jne 0x412277
push dword [ebp - 0x210]
push 0
push dword [ebp - 0x214]
mov dword [ebp - 0x20c], edx
call fcn.004cda30
mov edx, dword [ebp - 0x20c]
add esp, 0xc
mov ecx, dword [ebp - 0x214]
xor eax, eax
mov dword [ebp - 0x3a8], ecx
mov dword [ebp - 0x40], edi
mov edi, ecx
movzx ecx, byte [eax + 0x4e9d18]
mov byte [eax + edi], cl
inc eax
cmp byte [eax + 0x4e9d18], 0
je 0x41487f
cmp eax, 2
jl 0x413e2d
mov edi, dword [ebp - 0x40]
jge 0x413e5b
mov ecx, eax
neg ecx
add ecx, 2
jmp 0x414868
mov eax, dword [esi + 0xc]
test eax, eax
je 0x413ee7
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x3b4], ecx
mov dword [ebp - 0x3b0], 0
cmp byte [eax], 0
lea ecx, [ecx + 2]
je 0x413eb4
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], esi
mov esi, eax
mov edi, dword [ebp - 0x3b0]
cmp edi, edx
jge 0x414856
movzx eax, byte [edi + esi]
mov byte [edi + ecx], al
inc edi
cmp byte [edi + esi], 0
jne 0x413e92
mov dword [ebp - 0x3b0], edi
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x3b0]
jle 0x413ee7
sub edx, dword [ebp - 0x3b0]
cmp edx, 0x60
jle 0x4147bf
mov eax, dword [ebp - 0x3b4]
mov ecx, dword [ebp - 0x3b0]
push edx
push 0x20
lea ecx, [ecx + eax + 2]
push ecx
call fcn.004cda30
add esp, 0xc
mov dword [ebp - 0x200], 0
mov edx, dword [esi + 0x10]
test edx, edx
mov dword [ebp - 0x3a0], edx
je 0x41477e
mov ecx, edx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x413f1b
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x413f06
dec eax
mov edx, ecx
mov dword [ebp - 0x3b8], 0
movsx edx, byte [edx]
test edx, edx
je 0x413f60
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], edi
mov esi, ecx
mov edi, dword [ebp - 0x3b8]
inc esi
cmp edx, 0x2c
lea ecx, [edi + 1]
jne 0x413f47
mov edi, ecx
movsx edx, byte [esi]
test edx, edx
jne 0x413f3c
mov dword [ebp - 0x3a0], esi
mov dword [ebp - 0x3b8], edi
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3b8]
lea ecx, [ebp - 0x200]
push ecx
push 0
sub dword [ebp - 0x3a0], eax
lea edx, [edx*4 + 4]
push edx
call fcn.00431e20
add esp, 0xc
test eax, eax
jne 0x412277
mov edx, dword [ebp - 0x3a0]
movsx edx, byte [edx]
test edx, edx
je 0x414007
mov dword [ebp - 0x410], 1
xor ecx, ecx
mov dword [ebp - 0x3c], esi
xor eax, eax
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x410]
mov esi, dword [ebp - 0x3a0]
cmp edx, 0x2d
jne 0x413fc8
inc esi
mov edi, 0xffffffff
movsx edx, byte [esi]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*2 - 0x30]
movsx edx, byte [esi + 1]
cmp edx, 0x2c
je 0x413fdc
test edx, edx
jne 0x413ff9
imul ecx, edi
inc esi
mov edx, dword [ebp - 0x200]
mov edi, 1
mov dword [edx + eax*4], ecx
inc eax
movsx edx, byte [esi]
xor ecx, ecx
cmp edx, 0x2c
jne 0x413ffd
inc esi
movsx edx, byte [esi]
test edx, edx
jne 0x413fba
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x3b8]
inc ecx
mov dword [ebp - 0x5a4], edx
mov dword [ebp - 0x5a0], ecx
mov dword [ebp - 0x59c], 0
mov dword [ebp - 0x598], 0
mov dword [ebp - 0x594], 1
mov dword [ebp - 0x590], 0
mov dword [ebp - 0x58c], ecx
mov dword [ebp - 0x588], 4
mov dword [ebp - 0x584], 1
lea edx, [ebp - 0x3bc]
push edx
push 0
push 0x39
call fcn.00431e20
add esp, 0xc
test eax, eax
jne 0x412277
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edi + 0x84]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edi + 0x78]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edi + 0xfc]
mov dword [ecx + 0x18], edx
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edi + 0x120]
mov dword [ecx + 0x1c], edx
mov ecx, dword [ebp - 0x3bc]
movzx edx, byte [edi + 0x166]
mov byte [ecx + 0x2c], dl
mov ecx, dword [ebp - 0x3bc]
movzx edx, byte [edi + 0x167]
mov byte [ecx + 0x2d], dl
mov ecx, dword [ebp - 0x3bc]
movzx edx, byte [edi + 0x168]
mov byte [ecx + 0x2e], dl
mov ecx, dword [ebp - 0x3bc]
movzx edx, byte [edi + 0x16b]
mov byte [ecx + 0x2f], dl
mov ecx, dword [ebp - 0x3bc]
movzx edx, byte [edi + 0x16c]
mov byte [ecx + 0x30], dl
mov ecx, dword [ebp - 0x3bc]
movzx edx, byte [edi + 0x175]
mov byte [ecx + 0x31], dl
mov ecx, dword [ebp - 0x3bc]
movzx edx, byte [edi + 0x176]
mov byte [ecx + 0x32], dl
mov ecx, dword [ebp - 0x3bc]
movzx edx, byte [edi + 0x173]
mov byte [ecx + 0x33], dl
mov ecx, dword [ebp - 0x3bc]
movzx edx, byte [edi + 0x174]
mov byte [ecx + 0x34], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x179]
shr ecx, 5
movzx edx, byte [eax + 0x35]
and ecx, 1
and edx, 0xfffffffe
or edx, ecx
mov byte [eax + 0x35], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17a]
shr ecx, 2
and ecx, 1
movzx edx, byte [eax + 0x35]
add ecx, ecx
and edx, 0xfffffffd
or edx, ecx
mov byte [eax + 0x35], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17b]
shr ecx, 5
and ecx, 1
movzx edx, byte [eax + 0x35]
shl ecx, 2
and edx, 0xfffffffb
or edx, ecx
mov byte [eax + 0x35], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17b]
shr ecx, 6
and ecx, 1
movzx edx, byte [eax + 0x35]
shl ecx, 3
and edx, 0xfffffff7
or edx, ecx
mov byte [eax + 0x35], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17b]
shr ecx, 3
movzx edx, byte [eax + 0x35]
and ecx, 0xfffffff0
and edx, 0xffffffef
or edx, ecx
mov byte [eax + 0x35], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17c]
and ecx, 1
movzx edx, byte [eax + 0x35]
shl ecx, 5
and edx, 0xffffffdf
or edx, ecx
mov byte [eax + 0x35], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17c]
shr ecx, 1
and ecx, 1
movzx edx, byte [eax + 0x35]
shl ecx, 6
and edx, 0xffffffbf
or edx, ecx
mov byte [eax + 0x35], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17c]
shr ecx, 2
movzx edx, byte [eax + 0x35]
shl ecx, 7
and edx, 0x7f
or edx, ecx
mov byte [eax + 0x35], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17e]
and ecx, 2
movzx edx, byte [eax + 0x36]
and edx, 0xfffffffd
or edx, ecx
mov byte [eax + 0x36], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17e]
and ecx, 4
movzx edx, byte [eax + 0x36]
and edx, 0xfffffffb
or edx, ecx
mov byte [eax + 0x36], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17e]
and ecx, 1
movzx edx, byte [eax + 0x36]
and edx, 0xfffffffe
or edx, ecx
mov byte [eax + 0x36], dl
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edi + 0x80]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17f]
shr ecx, 6
and ecx, 1
movzx edx, byte [eax + 0x36]
shl ecx, 4
and edx, 0xffffffef
or edx, ecx
mov byte [eax + 0x36], dl
mov eax, dword [ebp - 0x3bc]
movzx ecx, byte [edi + 0x17f]
and ecx, 0x20
movzx edx, byte [eax + 0x36]
and edx, 0xffffffdf
or edx, ecx
mov byte [eax + 0x36], dl
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edi + 0x74]
mov dword [ecx + 0x14], edx
mov edx, dword [edi + 0x58]
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edx + 0x14]
mov dword [ecx + 0x20], edx
mov edx, dword [edi + 0x58]
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [edi + 0x58]
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edx + 8]
mov dword [ecx + 0xc], edx
mov eax, dword [edi + 0x58]
mov ecx, dword [ebp - 0x3bc]
movzx eax, byte [eax + 0xa7]
shr eax, 1
and eax, 1
movzx edx, byte [ecx + 0x36]
shl eax, 3
and edx, 0xfffffff7
or edx, eax
mov byte [ecx + 0x36], dl
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [edi + 0x90]
mov dword [ecx + 0x28], edx
mov edx, dword [ebp - 0x3bc]
mov dword [edx + 0x24], 0
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x41437c
mov edx, dword [ebp - 0x3bc]
mov dword [ecx + 0x24], edx
mov edx, dword [ebp - 0x3bc]
jmp 0x41438e
mov edx, dword [ebp - 0x3bc]
mov dword [edi + 0x8c], edx
mov edx, dword [ebp - 0x3bc]
mov dword [edi + 0x90], edx
mov ecx, dword [edi + 0x84]
test ecx, ecx
mov edx, dword [ebp - 0x28]
je 0x414747
push dword [edi + 0xfc]
push dword [ebp - 0x210]
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x5a4]
push ecx
push dword [ebp - 0x214]
lea ecx, [ebp - 0x21c]
push ecx
push dword [ebp - 0x34]
call edx
add esp, 0x20
mov eax, dword [edi + 0x90]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x408], eax
mov edx, dword [eax]
mov dword [edi + 0x84], edx
mov ebx, dword [eax + 4]
mov dword [edi + 0x78], ebx
mov ecx, dword [eax + 0x18]
mov dword [edi + 0xfc], ecx
mov edx, dword [eax + 0x1c]
mov dword [edi + 0x120], edx
movzx ebx, byte [eax + 0x2c]
mov byte [edi + 0x166], bl
movzx ecx, byte [eax + 0x2d]
mov byte [edi + 0x167], cl
movzx edx, byte [eax + 0x2e]
mov byte [edi + 0x168], dl
movzx ebx, byte [eax + 0x2f]
mov byte [edi + 0x16b], bl
movzx ecx, byte [eax + 0x30]
mov byte [edi + 0x16c], cl
movzx edx, byte [eax + 0x31]
mov byte [edi + 0x175], dl
movzx ebx, byte [eax + 0x32]
mov byte [edi + 0x176], bl
movzx ecx, byte [eax + 0x33]
mov byte [edi + 0x173], cl
movzx edx, byte [eax + 0x34]
mov byte [edi + 0x174], dl
movzx ebx, byte [eax + 0x35]
and ebx, 1
movzx ecx, byte [edi + 0x179]
shl ebx, 5
and ecx, 0xffffffdf
or ecx, ebx
mov byte [edi + 0x179], cl
movzx ecx, byte [eax + 0x35]
shr ecx, 1
and ecx, 1
movzx ebx, byte [edi + 0x17a]
shl ecx, 2
and ebx, 0xfffffffb
or ebx, ecx
mov byte [edi + 0x17a], bl
movzx edx, byte [eax + 0x35]
shr edx, 2
and edx, 1
movzx ecx, byte [edi + 0x17b]
shl edx, 5
and ecx, 0xffffffdf
or ecx, edx
mov byte [edi + 0x17b], cl
and ecx, 0xffffffbf
movzx ebx, byte [eax + 0x35]
shr ebx, 3
and ebx, 1
shl ebx, 6
or ecx, ebx
mov byte [edi + 0x17b], cl
and ecx, 0x7f
movzx edx, byte [eax + 0x35]
shr edx, 4
shl edx, 7
or ecx, edx
mov byte [edi + 0x17b], cl
movzx ecx, byte [eax + 0x35]
shr ecx, 5
movzx edx, byte [edi + 0x17c]
and ecx, 1
and edx, 0xfffffffe
or edx, ecx
mov byte [edi + 0x17c], dl
and edx, 0xfffffffd
movzx ebx, byte [eax + 0x35]
shr ebx, 6
and ebx, 1
add ebx, ebx
or edx, ebx
mov byte [edi + 0x17c], dl
and edx, 0xfffffffb
movzx ecx, byte [eax + 0x35]
shr ecx, 5
and ecx, 0xfffffffc
or edx, ecx
mov byte [edi + 0x17c], dl
movzx ecx, byte [edi + 0x17e]
movzx edx, byte [eax + 0x36]
and ecx, 0xfffffffd
and edx, 2
or ecx, edx
mov byte [edi + 0x17e], cl
and ecx, 0xfffffffb
movzx ebx, byte [eax + 0x36]
and ebx, 4
or ecx, ebx
mov byte [edi + 0x17e], cl
and ecx, 0xfffffffe
movzx edx, byte [eax + 0x36]
and edx, 1
or ecx, edx
mov byte [edi + 0x17e], cl
mov ecx, dword [eax + 0x10]
mov dword [edi + 0x80], ecx
movzx edx, byte [eax + 0x36]
shr edx, 4
and edx, 1
movzx ebx, byte [edi + 0x17f]
shl edx, 6
and ebx, 0xffffffbf
or ebx, edx
mov byte [edi + 0x17f], bl
and ebx, 0xffffffdf
movzx ecx, byte [eax + 0x36]
and ecx, 0x20
or ebx, ecx
mov byte [edi + 0x17f], bl
mov ebx, dword [eax + 0x14]
mov ecx, dword [edi + 0x58]
mov dword [edi + 0x74], ebx
mov edx, dword [eax + 0x20]
mov dword [ecx + 0x14], edx
mov ebx, dword [eax + 0xc]
mov dword [ecx + 8], ebx
mov edx, dword [eax + 8]
mov dword [ecx + 4], edx
movzx ebx, byte [eax + 0x36]
shr ebx, 3
and ebx, 1
movzx edx, byte [ecx + 0xa7]
add ebx, ebx
and edx, 0xfffffffd
or edx, ebx
mov byte [ecx + 0xa7], dl
mov edx, dword [eax + 0x28]
test edx, edx
mov ebx, dword [ebp - 0x38]
je 0x41471a
mov dword [edi + 0x90], edx
push dword [edx + 0x24]
call fcn.00431ee0
add esp, 4
test eax, eax
jne 0x412277
mov edx, dword [ebp - 0x200]
test edx, edx
je 0x41461e
push edx
call fcn.00431ee0
add esp, 4
test eax, eax
jne 0x412277
push dword [ebp - 0x214]
call fcn.00431ee0
add esp, 4
test eax, eax
jne 0x412277
mov edx, dword [edi + 0x3c]
dec word [edi + 0x164]
mov dword [edi + 0x4c], edx
mov eax, dword [ebp - 0x218]
test eax, eax
jne 0x412277
mov ecx, dword [ebp + 0xc]
movsx edx, byte [ecx]
cmp edx, 0x41
jne 0x414665
add ecx, 2
mov dword [ebp + 0xc], ecx
jmp 0x411fb9
mov dword [ebp - 0x40], edi
cmp edx, 1
je 0x4146a1
lea edx, [ebp - 0x39c]
push edx
lea ecx, [ebp - 0x34]
push ecx
lea edi, [ebp + 0x10]
push edi
lea eax, [ebp + 0xc]
push eax
call fcn.00440b60
add esp, 0x10
test eax, eax
jne 0x4146a6
cmp dword [ebp - 0x2c], 2
je 0x414d82
mov ecx, dword [ebp + 0xc]
movsx edx, byte [ecx]
cmp edx, 0x41
jne 0x414668
mov edi, dword [ebp - 0x40]
jmp 0x41465a
mov edi, dword [ebp - 0x40]
mov edx, dword [edi + 0x18]
test edx, edx
je 0x414700
test byte [edx + 0x44], 2
je 0x4146db
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4146ce
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x408]
call fcn.00431ee0
add esp, 4
mov dword [edi + 0x90], 0
test eax, eax
je 0x414603
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push 0xc8
push dword [ebp - 0x210]
lea ecx, [ebp - 0x66c]
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x5a4]
push ecx
push dword [ebp - 0x214]
lea ecx, [ebp - 0x21c]
push ecx
push dword [ebp - 0x34]
call edx
jmp 0x4143d2
xor edx, edx
mov dword [ebp - 0x5a4], edx
mov dword [ebp - 0x5a0], edx
mov dword [ebp - 0x59c], edx
mov dword [ebp - 0x598], edx
mov dword [ebp - 0x594], 1
mov dword [ebp - 0x590], edx
mov dword [ebp - 0x58c], edx
mov dword [ebp - 0x588], edx
mov dword [ebp - 0x584], edx
jmp 0x414062
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
mov dword [ebp - 0x3ac], ecx
test ecx, ecx
jbe 0x414861
mov eax, dword [ebp - 0x3b4]
mov ecx, dword [ebp - 0x3b0]
mov dword [ebp - 0x3c0], 0
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], edi
lea ecx, [ecx + eax + 2]
mov dword [ebp - 0x3c4], ecx
mov ecx, 0x20
mov esi, dword [ebp - 0x3c4]
mov edi, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x3ac]
mov byte [esi + edi*2], cl
mov byte [esi + edi*2 + 1], cl
inc edi
cmp edi, eax
jb 0x414813
mov dword [ebp - 0x3c0], edi
mov ecx, edi
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x40]
lea ecx, [ecx + ecx + 1]
lea eax, [ecx - 1]
cmp edx, eax
jbe 0x413ee7
mov eax, dword [ebp - 0x3b4]
mov edx, dword [ebp - 0x3b0]
lea edx, [edx + eax + 2]
mov byte [ecx + edx - 1], 0x20
jmp 0x413ee7
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x40]
jmp 0x413ee7
mov ecx, 1
jmp 0x414831
je 0x413e5b
mov ecx, dword [ebp - 0x3a8]
inc ecx
mov byte [ecx + eax - 1], 0x20
jmp 0x413e5b
mov edi, dword [ebp - 0x40]
cmp eax, 2
jl 0x413e4f
jmp 0x413e5b
add dword [ebp + 0xc], 2
lea eax, [ebp - 0x39c]
push eax
lea edx, [ebp - 0x34]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea ebx, [ebp + 0xc]
push ebx
call fcn.00440b60
add esp, 0x10
test eax, eax
je 0x41255f
mov edx, dword [edi + 0x18]
test edx, edx
je 0x41490e
test byte [edx + 0x44], 2
je 0x4148e9
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4148dc
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x41497f
test byte [edx + 0x44], 2
je 0x41495a
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x41494d
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
cmp byte [edx], 2
jne 0x41336a
cmp ebx, 2
jge 0x41336a
xor eax, eax
mov dword [esi + 0x14], 2
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
leave
ret
push edi
mov eax, 0x2c
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x414a57
test byte [edx + 0x44], 2
je 0x414a32
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x414a25
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
test eax, eax
je 0x414ad7
test byte [eax + 0x44], 2
je 0x414aad
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x414a9b
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x26
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x26
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x414b4d
test byte [edx + 0x44], 2
je 0x414b28
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x414b1b
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x38]
movsx edx, byte [eax + 5]
cmp edx, 0x20
je 0x414b9d
cmp edx, 0x2b
jne 0x414b89
mov byte [eax + 5], 0
movzx edx, byte [edi + 0x17d]
mov dword [ebp - 0x1f0], edx
mov edx, dword [ebp - 0x1f0]
and edx, 0xffffffbf
mov byte [edi + 0x17d], dl
jmp 0x413071
mov byte [eax + 5], 0x24
movzx edx, byte [edi + 0x17d]
mov dword [ebp - 0x1f0], edx
jmp 0x414b89
cmp ebx, 2
jge 0x413009
xor eax, eax
mov dword [esi + 0x14], 2
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
cmp ebx, 2
jl 0x41336a
jmp 0x413009
mov eax, dword [esi + 0x14]
test eax, eax
jle 0x414be8
inc eax
mov dword [esi + 0x14], eax
xor eax, eax
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x414c4e
test byte [edx + 0x44], 2
je 0x414c29
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x414c1c
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x20], 0
jne 0x4120c5
cmp ebx, 1
jg 0x4120c5
or edx, 0x40
mov byte [esi + 0xa7], dl
jmp 0x4120ce
cmp dword [ebp - 0x20], 0
jne 0x4120b2
cmp ebx, 1
jg 0x4120b2
movzx edx, byte [esi + 0xa7]
or edx, 0x20
jmp 0x4120c5
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0x41
je 0x414cfc
mov dword [ebp - 0x38], ebx
lea edx, [ebp - 0x39c]
mov dword [ebp - 0x3c], esi
lea eax, [ebp + 0xc]
mov dword [ebp - 0x40], edi
lea ecx, [ebp + 0x10]
mov edi, eax
mov esi, edx
mov ebx, ecx
push esi
lea eax, [ebp - 0x34]
push eax
push ebx
push edi
call fcn.00440b60
add esp, 0x10
test eax, eax
jne 0x414d0e
cmp dword [ebp - 0x2c], 2
je 0x414be8
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0x41
jne 0x414cce
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x40]
add edx, 2
mov dword [ebp + 0xc], edx
and byte [edi + 0x184], 0xdf
jmp 0x411fc6
mov edi, dword [ebp - 0x40]
mov edx, dword [edi + 0x18]
test edx, edx
je 0x414d68
test byte [edx + 0x44], 2
je 0x414d43
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x414d36
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x17c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0043da80
add esp, 0x14
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00409370
add esp, 0x10
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x40]
xor eax, eax
or byte [edi + 0x184], 0x20
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
test eax, eax
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
lea edx, [eax + 1]
jne 0x414db0
mov edx, 2
xor eax, eax
mov dword [esi + 0x14], edx
mov esi, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [esi + 0x14], ecx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret