Function at 0x430180
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x78
cmp dword [0x476614], 0
jne 0x43041e
mov al, byte [0x474390]
xor al, 0xac
mov byte [0x4743b0], al
mov al, byte [0x474391]
xor al, 0xa3
mov byte [0x4743b1], al
mov al, byte [0x474392]
mov dl, al
xor dl, 0xb
xor dl, 0xff
and dl, 0xb
shl dl, 1
sub dl, 0xb
sub al, dl
mov byte [0x4743b2], al
mov al, byte [0x474393]
xor al, 0x5e
mov byte [0x4743b3], al
mov dl, byte [0x474394]
mov ah, dl
add ah, 1
mov al, dl
xor al, 0xff
or al, dl
add al, ah
xor al, 0xff
xor al, 0xff
mov ah, al
and ah, 0x31
mov dh, al
xor dh, 0xce
add al, dh
sub al, ah
and dl, 0xce
xor dl, 0xff
mov ah, al
add ah, 1
xor al, 0xff
or al, dl
add al, ah
xor al, 0xff
mov byte [0x4743b4], al
mov al, byte [0x474395]
mov dl, al
xor dl, 0xff
and dl, 0x34
and al, 0xcb
or dl, al
xor dl, 0x20
mov byte [0x4743b5], dl
mov al, byte [0x474396]
mov dl, al
xor dl, 0xff
mov ah, al
xor ah, 0xff
or dl, ah
and dl, 6
xor dl, 0xff
xor al, 0xff
or al, 6
xor dl, 0xff
xor al, 0xff
or dl, al
mov byte [0x4743b6], dl
mov al, byte [0x474397]
mov dl, al
and dl, 0x17
shl dl, 1
add al, 0x17
sub al, dl
mov byte [0x4743b7], al
mov bl, byte [0x474398]
mov al, bl
add al, 1
mov dl, bl
xor dl, 0xff
or dl, 0xde
add dl, al
mov al, dl
xor al, 0xff
mov ah, al
and ah, 2
or al, 2
xor al, 0xff
mul ah
mov dh, al
mov bh, dl
and bh, 2
or dl, 2
mov al, dl
mul bh
add al, dh
add bl, 0xa
add bl, 0xde
sub bl, 0xa
sub bl, al
mov byte [0x4743b8], bl
mov al, byte [0x474399]
mov ah, al
xor ah, 0xff
xor ah, 0xff
xor ah, 0xb2
and ah, 0xb2
xor al, 0xff
or al, 0xb2
xor al, 0xff
and al, 0xff
mov dh, ah
xor dh, 0xff
mov bl, al
xor bl, 0xff
mov dl, dh
and dl, 0xc0
and ah, 0x3f
mov bh, bl
and bh, 0xc0
and al, 0x3f
or dl, ah
or bh, al
xor dl, bh
or dh, bl
xor dh, 0xff
and dh, 0xff
or dl, dh
mov al, dl
xor al, 0xff
and al, 0x95
and dl, 0x6a
or al, dl
xor al, 0x25
mov byte [0x4743b9], al
mov al, byte [0x47439a]
xor al, 0xbb
mov byte [0x4743ba], al
mov al, byte [0x47439b]
xor al, 0xa3
mov byte [0x4743bb], al
mov al, byte [0x47439c]
xor al, 0x3d
mov byte [0x4743bc], al
mov al, byte [0x47439d]
mov dl, al
xor dl, 0xff
and dl, 0x22
and al, 0xdd
or dl, al
xor dl, 0xd8
mov byte [0x4743bd], dl
mov al, byte [0x47439e]
mov dl, al
xor dl, 0xff
and dl, 0xff
or dl, 0
mov ah, dl
xor ah, 0xd6
xor ah, 0xff
or dl, 0xd6
and dl, ah
mov ah, al
xor ah, 0x29
xor ah, 0xff
or al, 0x29
and al, ah
mov ah, dl
xor ah, 0xff
mov bl, al
xor bl, 0xff
mov dh, ah
and dh, 0xeb
and dl, 0x14
mov bh, bl
and bh, 0xeb
and al, 0x14
or dh, dl
or bh, al
xor dh, bh
or ah, bl
xor ah, 0xff
and ah, 0xff
or dh, ah
xor dh, 7
mov byte [0x4743be], dh
mov al, byte [0x47439f]
mov dl, al
and dl, 0x8c
shl dl, 1
add al, 0x8c
sub al, dl
mov byte [0x4743bf], al
mov dl, byte [0x4743a0]
mov ah, dl
and ah, ah
mov al, ah
xor al, 0xff
and al, 0xc5
and ah, 0x3a
or al, ah
xor al, 0x3a
mov ah, al
add ah, 1
xor al, 0xff
or al, 0x6c
add al, ah
xor al, 0xff
xor dl, 0xff
mov ah, dl
and ah, 0x93
mov dh, dl
xor dh, 0x6c
add dl, dh
sub dl, ah
or al, al
xor al, 0xff
mov ah, dl
xor ah, 0xff
xor dl, 0xff
and ah, dl
xor al, 0xff
xor ah, 0xff
and al, ah
xor al, 0xff
mov byte [0x4743c0], al
mov al, byte [0x4743a1]
xor al, 0x37
mov byte [0x4743c1], al
mov al, byte [0x4743a2]
xor al, 0xf9
mov byte [0x4743c2], al
mov dword [0x476614], 1
push eax
mov esi, esp
push eax
mov ebx, esp
push eax
mov edi, esp
push eax
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x2c], esp
push eax
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x18], esp
push eax
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x48], esp
sub esp, 0x140
mov dword [ebp - 0x44], esp
sub esp, 0x140
mov dword [ebp - 0x14], esp
push eax
mov eax, esp
push eax
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x50], esp
push eax
mov dword [ebp - 0x54], esp
push eax
mov dword [ebp - 0x58], esp
push eax
mov dword [ebp - 0x5c], esp
push eax
mov dword [ebp - 0x60], esp
push eax
mov dword [ebp - 0x64], esp
push eax
mov dword [ebp - 0x68], esp
push eax
mov dword [ebp - 0x6c], esp
push eax
mov dword [ebp - 0x74], esp
push eax
mov dword [ebp - 0x70], esp
push eax
mov dword [ebp - 0x40], esp
push eax
mov dword [ebp - 0x84], esp
push eax
mov dword [ebp - 0x80], esp
push eax
mov dword [ebp - 0x7c], esp
push eax
mov dword [ebp - 0x78], esp
mov dword [esi], ecx
mov dword [ebp - 0x24], eax
mov byte [eax], 0xff
mov eax, dword [esi]
mov word [eax + 0x8392], 1
mov ecx, dword [esi]
sub esp, 0xc
xor edx, edx
mov dword [esp], 0x120
mov dword [esp + 4], 0xf
mov dword [esp + 8], 0
call fcn.00442420
add esp, 0xc
mov ecx, dword [esi]
xor eax, eax
sub esp, 0xc
mov edx, 1
mov dword [esp], 0x20
mov dword [esp + 4], 0xf
mov dword [esp + 8], 0
call fcn.00442420
add esp, 0xc
mov dword [ebx], 0x11e
cmp dword [ebx], 0x101
jle 0x430539
mov eax, dword [esi]
mov ecx, dword [ebx]
sub ecx, 1
cmp byte [eax + ecx + 0x8f12], 0
je 0x43052a
jmp 0x43053b
jmp 0x43052c
jmp 0x43052e
jmp 0x430530
mov eax, dword [ebx]
add eax, 0xffffffff
mov dword [ebx], eax
jmp 0x43050f
jmp 0x43053b
jmp 0x43053d
mov dword [edi], 0x1e
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x34], ebx
jmp 0x43054e
cmp dword [edi], 1
jle 0x4305b9
mov eax, dword [esi]
mov ecx, dword [edi]
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xe1a4e647
mov edi, ecx
and edi, 0x1e5b19b8
or edx, edi
xor edx, 0x1e5b19b8
xor edx, 0xffffffff
or edx, 0xfffffffe
xor edx, 0xffffffff
and edx, 0xffffffff
mov edi, ecx
xor edi, 0xfffffffe
xor edi, 0xffffffff
or ecx, 0xfffffffe
and ecx, edi
sub ecx, edx
cmp byte [eax + ecx + 0x9032], 0
je 0x43059f
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x34]
jmp 0x4305bb
mov ebx, dword [ebp - 0x34]
jmp 0x4305a4
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x3c]
jmp 0x4305ac
jmp 0x4305ae
jmp 0x4305b0
mov eax, dword [edi]
sub eax, 1
mov dword [edi], eax
jmp 0x43054e
jmp 0x4305bb
mov eax, dword [esi]
add eax, 0x8f12
mov ecx, dword [ebx]
sub esp, 0xc
mov edi, esi
mov esi, dword [ebp - 0x44]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044fc30
add esp, 0xc
mov eax, esi
mov esi, edi
add eax, dword [ebx]
mov ecx, dword [esi]
add ecx, 0x8f12
add ecx, 0x120
mov edi, dword [ebp - 0x3c]
mov edx, dword [edi]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0044fc30
add esp, 0xc
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edx, eax
and edx, ecx
or eax, ecx
add edx, eax
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], edx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
mov edi, dword [ebp - 0x1c]
mov dword [edi], 0
mov eax, dword [esi]
add eax, 0x8192
add eax, 0x480
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x26
call fcn.00450730
add esp, 0xc
mov ecx, dword [ebp - 0x28]
mov dword [ecx], 0
mov eax, dword [ecx]
cmp eax, dword [ebx]
jae 0x430cfd
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x44]
mov al, byte [ecx + eax]
mov ecx, dword [ebp - 0x30]
mov byte [ecx], al
cmp byte [ecx], 0
setne al
mov edx, dword [ebp - 0x18]
test al, 1
jne 0x430985
jmp 0x430699
cmp dword [edi], 0
je 0x430791
cmp dword [edi], 3
jae 0x43072d
mov eax, dword [esi]
mov ebx, dword [ebp - 0x24]
movzx ecx, byte [ebx]
movzx eax, word [eax + ecx*2 + 0x8612]
mov ecx, dword [edi]
mov edx, eax
and edx, ecx
or eax, ecx
add edx, eax
mov eax, dword [esi]
movzx ecx, byte [ebx]
mov word [eax + ecx*2 + 0x8612], dx
mov edx, dword [ebp - 0x18]
mov eax, dword [edi]
mov ecx, eax
add ecx, 0xffffffff
mov dword [edi], ecx
cmp eax, 0
je 0x430728
mov eax, dword [ebp - 0x24]
mov bl, byte [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov edx, eax
and edx, 1
shl edx, 1
mov edi, eax
xor edi, 1
xor edi, 0xffffffff
and edi, 1
shl edi, 1
sub edi, 1
mov ecx, eax
sub ecx, edi
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
xor edx, 0xffffffff
sub edx, 0xffffffff
sub ecx, edx
mov edx, dword [ebp - 0x10]
mov dword [edx], ecx
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov byte [ecx + eax], bl
jmp 0x4306d5
mov ebx, dword [ebp - 0x2c]
jmp 0x43078b
mov eax, dword [esi]
movzx eax, word [eax + 0x8632]
add eax, 0xe88cc2ae
add eax, 1
sub eax, 0xe88cc2ae
mov ecx, dword [esi]
mov word [ecx + 0x8632], ax
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
mov ecx, eax
add ecx, 0
add ecx, 1
mov dword [ebx], ecx
mov edi, dword [ebp - 0x14]
mov byte [edi + eax], 0x10
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub eax, 3
mov ecx, dword [ebx]
mov edx, ecx
add edx, 0xda1766dd
add edx, 1
sub edx, 0xda1766dd
mov dword [ebx], edx
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x2c]
mov byte [edi + ecx], al
mov edi, dword [ebp - 0x1c]
mov dword [edi], 0
jmp 0x430793
mov eax, dword [edx]
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov dword [edx], eax
cmp eax, 0x8a
sete al
test al, 1
mov ecx, dword [ebp - 0x28]
jne 0x4307b8
jmp 0x430980
cmp dword [edx], 0
je 0x43097e
cmp dword [edx], 3
jae 0x43085a
mov eax, dword [esi]
movzx eax, word [eax + 0x8612]
mov edx, dword [edx]
mov edi, eax
xor edi, edx
xor edi, 0xffffffff
mov ecx, eax
or ecx, edx
and ecx, edi
mov edi, edx
xor edi, 0xffffffff
mov esi, eax
and esi, edi
mov dword [ebp - 0x4c], esi
mov edi, eax
xor edi, edx
add eax, edi
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
sub eax, dword [ebp - 0x4c]
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, eax
add edx, ecx
xor eax, eax
sub eax, edx
mov ecx, dword [esi]
mov word [ecx + 0x8612], ax
jmp 0x430816
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov ecx, eax
and ecx, 0xffffffff
add ecx, 0xa6a3ae86
add ecx, 0xffffffff
sub ecx, 0xa6a3ae86
mov dword [edx], ecx
cmp eax, 0
setne al
test al, 1
jne 0x43083d
jmp 0x430852
mov edx, dword [ebp - 0x10]
mov eax, dword [edx]
mov ecx, eax
add ecx, 1
mov dword [edx], ecx
mov ecx, dword [ebp - 0x14]
mov byte [ecx + eax], 0
jmp 0x430814
mov ecx, dword [ebp - 0x28]
jmp 0x430974
cmp dword [edx], 0xa
mov edi, edx
ja 0x4308d1
mov eax, dword [esi]
movzx eax, word [eax + 0x8634]
add eax, 0xc0f443c0
add eax, 1
add eax, 0x7bb93dce
sub eax, 0xc0f443c0
sub eax, 0x7bb93dce
mov ecx, dword [esi]
mov word [ecx + 0x8634], ax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx]
mov ecx, eax
add ecx, 0xd36bd7df
add ecx, 1
sub ecx, 0xd36bd7df
mov dword [edx], ecx
mov esi, dword [ebp - 0x14]
mov byte [esi + eax], 0x11
mov eax, dword [edi]
sub eax, 3
mov ecx, dword [edx]
mov edx, 0x2919952d
sub edx, ecx
sub edx, 0x2919952d
add edx, 0xffffffff
xor edi, edi
sub edi, edx
mov edx, dword [ebp - 0x10]
mov dword [edx], edi
mov byte [esi + ecx], al
jmp 0x430966
mov eax, dword [esi]
movzx eax, word [eax + 0x8636]
add eax, 1
mov ecx, dword [esi]
mov word [ecx + 0x8636], ax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, eax
and ecx, 1
shl ecx, 1
mov edx, eax
xor edx, 0xffffffff
and edx, 0xcbc9e21e
mov edi, eax
and edi, 0x34361de1
or edx, edi
xor edx, 0xcbc9e21f
add edx, 0x2a069811
add edx, ecx
sub edx, 0x2a069811
mov ecx, dword [ebp - 0x10]
mov dword [ecx], edx
mov esi, dword [ebp - 0x14]
mov byte [esi + eax], 0x12
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
sub eax, 0x260f6ac0
add eax, 0xbd580b90
sub eax, 0xb
sub eax, 0xbd580b90
sub eax, 0xd9f09540
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
mov edx, ecx
xor edx, 0xffffffff
add edx, 0
add edx, 1
and edx, 0xffffffff
add edx, 0xffffffff
xor edi, edi
sub edi, edx
mov edx, dword [ebp - 0x10]
mov dword [edx], edi
mov byte [esi + ecx], al
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
jmp 0x430974
jmp 0x430976
mov dword [edx], 0
jmp 0x43097e
jmp 0x430980
jmp 0x430ce3
cmp dword [edx], 0
je 0x430aa4
cmp dword [edx], 3
jae 0x4309fb
mov eax, dword [esi]
movzx eax, word [eax + 0x8612]
mov ecx, dword [edx]
add eax, 0xfc25605c
add eax, ecx
sub eax, 0xfc25605c
mov ecx, dword [esi]
mov word [ecx + 0x8612], ax
mov eax, dword [edx]
mov ecx, eax
add ecx, 0x57d0aa03
add ecx, 1
add ecx, 0xffffffff
add ecx, 0xa82f55fc
mov dword [edx], ecx
cmp eax, 0
je 0x4309f6
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
mov ecx, eax
xor ecx, 0
xor edx, edx
sub edx, ecx
add edx, 0xffffffff
xor ecx, ecx
sub ecx, edx
mov edx, dword [ebp - 0x18]
mov dword [ebx], ecx
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
mov byte [ecx + eax], 0
jmp 0x4309b3
jmp 0x430a9a
cmp dword [edx], 0xa
ja 0x430a4b
mov eax, dword [esi]
movzx eax, word [eax + 0x8634]
mov ecx, eax
and ecx, 1
or eax, 1
add ecx, eax
mov eax, dword [esi]
mov word [eax + 0x8634], cx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
mov ecx, eax
add ecx, 1
mov dword [ebx], ecx
mov edi, dword [ebp - 0x14]
mov byte [edi + eax], 0x11
mov eax, dword [edx]
sub eax, 3
mov ecx, dword [ebx]
mov edx, ecx
add edx, 1
mov dword [ebx], edx
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x2c]
mov byte [edi + ecx], al
mov edi, dword [ebp - 0x1c]
jmp 0x430a98
mov eax, dword [esi]
movzx eax, word [eax + 0x8636]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov ecx, dword [esi]
mov word [ecx + 0x8636], ax
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
mov ecx, eax
add ecx, 1
mov dword [ebx], ecx
mov edi, dword [ebp - 0x14]
mov byte [edi + eax], 0x12
mov eax, dword [edx]
add eax, 0xfffffff4
add eax, 1
mov ecx, dword [ebx]
mov edx, ecx
add edx, 1
mov dword [ebx], edx
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x2c]
mov byte [edi + ecx], al
mov edi, dword [ebp - 0x1c]
jmp 0x430a9a
jmp 0x430a9c
mov dword [edx], 0
jmp 0x430aa4
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax]
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ecx]
cmp eax, ecx
je 0x430bf2
jmp 0x430aba
cmp dword [edi], 0
setne al
test al, 1
jne 0x430ac9
jmp 0x430ba9
cmp dword [edi], 3
jae 0x430b52
mov eax, dword [esi]
mov ebx, dword [ebp - 0x24]
movzx ecx, byte [ebx]
movzx eax, word [eax + ecx*2 + 0x8612]
mov ecx, dword [edi]
xor edx, edx
sub edx, eax
add edx, 0x57259a9f
xor eax, eax
sub eax, edx
add eax, ecx
sub eax, 0xa8da6561
mov ecx, dword [esi]
movzx edx, byte [ebx]
mov word [ecx + edx*2 + 0x8612], ax
jmp 0x430b08
mov eax, dword [edi]
mov ecx, eax
xor ecx, 0xffffffff
or ecx, 0
mov edx, eax
and edx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
shl ecx, 1
mov edx, eax
xor edx, 0xffffffff
add edx, ecx
mov dword [edi], edx
cmp eax, 0
setne al
test al, 1
jne 0x430b37
jmp 0x430b50
mov eax, dword [ebp - 0x24]
mov al, byte [eax]
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebx]
mov edx, ecx
add edx, 1
mov dword [ebx], edx
mov edx, dword [ebp - 0x14]
mov byte [edx + ecx], al
jmp 0x430b06
jmp 0x430ba3
jmp 0x430b54
mov eax, dword [esi]
movzx eax, word [eax + 0x8632]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov ecx, dword [esi]
mov word [ecx + 0x8632], ax
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor edx, edx
sub edx, ecx
mov dword [ebx], edx
mov edi, dword [ebp - 0x14]
mov byte [edi + eax], 0x10
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub eax, 3
mov ecx, dword [ebx]
mov edx, ecx
add edx, 1
mov dword [ebx], edx
mov byte [edi + ecx], al
mov edi, dword [ebp - 0x1c]
jmp 0x430ba3
mov dword [edi], 0
mov eax, dword [esi]
mov ebx, dword [ebp - 0x30]
movzx ecx, byte [ebx]
movzx eax, word [eax + ecx*2 + 0x8612]
sub eax, 0x799bdfec
add eax, 1
add eax, 0x799bdfec
mov ecx, dword [esi]
movzx edx, byte [ebx]
mov word [ecx + edx*2 + 0x8612], ax
mov al, byte [ebx]
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebx]
mov edx, ecx
add edx, 1
mov dword [ebx], edx
mov edx, dword [ebp - 0x14]
mov byte [edx + ecx], al
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x2c]
jmp 0x430cdd
mov eax, dword [edi]
sub eax, 0xffffffff
mov dword [edi], eax
cmp eax, 6
mov ecx, dword [ebp - 0x28]
jne 0x430cdb
cmp dword [edi], 0
je 0x430cd9
cmp dword [edi], 3
jae 0x430c65
jmp 0x430c15
mov eax, dword [esi]
mov edx, dword [ebp - 0x24]
movzx ecx, byte [edx]
movzx eax, word [eax + ecx*2 + 0x8612]
add eax, dword [edi]
mov ecx, dword [esi]
movzx edx, byte [edx]
mov word [ecx + edx*2 + 0x8612], ax
jmp 0x430c36
mov eax, dword [edi]
mov ecx, eax
and ecx, 0xffffffff
add ecx, 0xffffffff
mov dword [edi], ecx
cmp eax, 0
je 0x430c63
mov eax, dword [ebp - 0x24]
mov al, byte [eax]
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebx]
mov edx, ecx
add edx, 1
mov dword [ebx], edx
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
mov byte [edx + ecx], al
jmp 0x430c36
jmp 0x430cd0
mov eax, dword [esi]
movzx eax, word [eax + 0x8632]
mov edx, eax
xor edx, 1
xor edx, 0xffffffff
mov ecx, eax
or ecx, 1
and ecx, edx
shl ecx, 1
xor eax, 1
mov edx, eax
and edx, ecx
shl edx, 1
xor eax, ecx
add eax, edx
mov ecx, dword [esi]
mov word [ecx + 0x8632], ax
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
mov ecx, eax
sub ecx, 0xffffffff
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x14]
mov byte [ecx + eax], 0x10
mov eax, dword [edi]
add eax, 0xfffffffc
add eax, 1
mov ecx, dword [ebx]
mov edx, ecx
sub edx, 0x275ab1f0
add edx, 1
add edx, 0x275ab1f0
mov dword [ebx], edx
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
mov byte [edx + ecx], al
mov dword [edi], 0
mov ecx, dword [ebp - 0x28]
jmp 0x430cdb
jmp 0x430cdd
jmp 0x430cdf
jmp 0x430ce1
jmp 0x430ce3
jmp 0x430ce5
mov eax, dword [ebp - 0x30]
mov al, byte [eax]
mov edx, dword [ebp - 0x24]
mov byte [edx], al
jmp 0x430cf1
mov eax, dword [ecx]
sub eax, 0xffffffff
mov dword [ecx], eax
jmp 0x43066f
cmp dword [edi], 0
je 0x430e10
jmp 0x430d08
cmp dword [edi], 0
setne al
test al, 1
jne 0x430d17
jmp 0x430e07
cmp dword [edi], 3
jae 0x430d74
jmp 0x430d1e
mov eax, dword [esi]
mov edx, dword [ebp - 0x24]
movzx ecx, byte [edx]
movzx eax, word [eax + ecx*2 + 0x8612]
add eax, dword [edi]
mov ecx, dword [esi]
movzx edx, byte [edx]
mov word [ecx + edx*2 + 0x8612], ax
jmp 0x430d3f
jmp 0x430d41
mov eax, dword [edi]
mov ecx, eax
sub ecx, 1
mov dword [edi], ecx
cmp eax, 0
setne al
test al, 1
jne 0x430d56
jmp 0x430d6f
mov eax, dword [ebp - 0x24]
mov al, byte [eax]
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebx]
mov edx, ecx
add edx, 1
mov dword [ebx], edx
mov edx, dword [ebp - 0x14]
mov byte [edx + ecx], al
jmp 0x430d3f
jmp 0x430e01
mov eax, dword [esi]
movzx eax, word [eax + 0x8632]
mov ecx, eax
and ecx, 0xd5297794
shl ecx, 1
xor eax, 0xd5297794
add eax, ecx
add eax, 1
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd5297794
and eax, 0x2ad6886b
sub eax, ecx
mov ecx, dword [esi]
mov word [ecx + 0x8632], ax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx]
mov ecx, eax
add ecx, 1
mov dword [edx], ecx
mov ebx, dword [ebp - 0x14]
mov byte [ebx + eax], 0x10
mov eax, dword [edi]
add eax, 0xe997fa43
add eax, 0x7c547623
sub eax, 0xe997fa43
add eax, 0xfffffffd
sub eax, 0x7c547623
mov ecx, dword [edx]
mov edx, ecx
xor edx, 0xffffffff
add edx, 0
add edx, 1
add edx, 0xffffffff
and edx, 0xffffffff
xor edi, edi
sub edi, edx
mov edx, dword [ebp - 0x10]
mov dword [edx], edi
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
mov byte [ebx + ecx], al
mov dword [edi], 0
jmp 0x430e09
jmp 0x430e0b
jmp 0x430f84
mov ecx, dword [ebp - 0x18]
cmp dword [ecx], 0
je 0x430f82
cmp dword [ecx], 3
jae 0x430e93
jmp 0x430e23
mov eax, dword [esi]
movzx edi, word [eax + 0x8612]
mov edx, dword [ecx]
mov eax, edi
and eax, edx
mov ecx, edi
xor ecx, 0xffffffff
xor edi, 0xffffffff
or ecx, edi
mov edi, edx
xor edi, 0xffffffff
xor edx, 0xffffffff
or edi, edx
xor ecx, 0xffffffff
xor edi, 0xffffffff
or ecx, edi
mov esi, dword [ebp - 0x20]
add eax, ecx
mov ecx, dword [esi]
mov word [ecx + 0x8612], ax
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
jmp 0x430e64
mov eax, dword [edx]
mov ecx, eax
sub ecx, 1
mov dword [edx], ecx
cmp eax, 0
je 0x430e8e
mov eax, dword [edi]
mov ecx, eax
and ecx, 1
mov edx, eax
or edx, 1
add ecx, edx
mov edx, dword [ebp - 0x18]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x14]
mov byte [ecx + eax], 0
jmp 0x430e64
jmp 0x430f7c
cmp dword [ecx], 0xa
ja 0x430f27
mov eax, dword [esi]
movzx eax, word [eax + 0x8634]
sub eax, 0x31509391
sub eax, 0xffffffff
add eax, 0x31509391
mov ecx, dword [esi]
mov word [ecx + 0x8634], ax
mov edi, dword [ebp - 0x10]
mov eax, dword [edi]
mov ecx, eax
and ecx, 1
mov edx, eax
or edx, 1
add ecx, edx
mov dword [edi], ecx
mov ebx, dword [ebp - 0x14]
mov byte [ebx + eax], 0x11
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
add ecx, 4
xor eax, eax
sub eax, ecx
sub eax, 0x156070c0
add eax, 1
add eax, 0x156070c0
mov ecx, dword [edi]
mov edx, ecx
sub edx, 0x69c488b1
sub edx, 0x59d1361e
add edx, 0x69c488b1
add edx, 1
add edx, 0x520f4cce
add edx, 0x59d1361e
sub edx, 0x520f4cce
mov dword [edi], edx
mov byte [ebx + ecx], al
mov edx, dword [ebp - 0x18]
jmp 0x430f76
mov eax, dword [esi]
movzx eax, word [eax + 0x8636]
add eax, 1
mov ecx, dword [esi]
mov word [ecx + 0x8636], ax
mov edi, dword [ebp - 0x10]
mov eax, dword [edi]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor edx, edx
sub edx, ecx
mov dword [edi], edx
mov ebx, dword [ebp - 0x14]
mov byte [ebx + eax], 0x12
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
add eax, 0xfec3310b
sub eax, 0xb
sub eax, 0xfec3310b
mov ecx, dword [edi]
mov edx, ecx
add edx, 1
mov dword [edi], edx
mov edx, dword [ebp - 0x18]
mov byte [ebx + ecx], al
jmp 0x430f78
jmp 0x430f7a
jmp 0x430f7c
mov dword [edx], 0
jmp 0x430f84
jmp 0x430f86
mov ecx, dword [esi]
xor eax, eax
sub esp, 0xc
mov edx, 2
mov dword [esp], 0x13
mov dword [esp + 4], 7
mov dword [esp + 8], 0
call fcn.00442420
add esp, 0xc
jmp 0x430fb3
mov eax, dword [ebp - 0x50]
mov dword [eax], 2
mov edx, dword [ebp - 0x54]
mov dword [edx], 2
mov eax, dword [eax]
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esi]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edx]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x44]
xor eax, 0xffffffff
sub eax, 0xffffffff
sub edx, eax
mov dword [ecx + 0x44], edx
mov edx, dword [ebp - 0x34]
jmp 0x430fed
mov eax, dword [esi]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x430ffc
jmp 0x43103c
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
mov ecx, dword [esi]
cmp eax, dword [ecx + 0x34]
jae 0x431022
mov eax, dword [esi]
mov eax, dword [eax + 0x48]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x30]
mov edi, edx
add edi, 1
mov dword [ecx + 0x30], edi
mov esi, dword [ebp - 0x20]
mov byte [edx], al
mov edx, dword [ebp - 0x34]
jmp 0x431024
mov eax, dword [esi]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
sub ecx, 8
mov dword [eax + 0x44], ecx
jmp 0x430feb
jmp 0x43103e
jmp 0x431040
mov eax, dword [edx]
mov edx, eax
and edx, 0xffffffff
shl edx, 1
mov ecx, eax
add ecx, 0xffffffff
sub ecx, edx
mov edx, ecx
xor edx, 0x101
xor edx, 0xffffffff
or ecx, 0x101
and ecx, edx
xor eax, 0xffffffff
or eax, 0x101
xor eax, 0xffffffff
and eax, 0xffffffff
sub eax, ecx
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5c]
mov dword [edx], 5
mov eax, dword [ecx]
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esi]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov ebx, dword [edx]
mov eax, dword [esi]
mov edi, dword [eax + 0x44]
mov ecx, edi
and ecx, ebx
mov esi, ecx
and esi, 0xfffffffd
mov edx, ecx
or edx, 0xfffffffd
xor edx, 0xffffffff
imul edx, esi
mov esi, ecx
and esi, 2
or ecx, 2
imul ecx, esi
add ecx, edx
mov edx, edi
xor edx, 0xffffffff
mov esi, edi
xor esi, 0xffffffff
or edx, esi
and edx, ebx
xor edx, 0xffffffff
and ebx, ebx
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
xor edx, 0xffffffff
xor edi, 0xffffffff
or edx, edi
mov edi, dword [ebp - 0x20]
xor esi, esi
sub esi, ecx
sub edx, esi
mov dword [eax + 0x44], edx
mov eax, dword [edi]
cmp dword [eax + 0x44], 8
jb 0x431142
jmp 0x4310f4
mov eax, dword [edi]
mov eax, dword [eax + 0x30]
mov ecx, dword [edi]
cmp eax, dword [ecx + 0x34]
setb al
test al, 1
jne 0x431107
jmp 0x43111b
mov eax, dword [edi]
mov eax, dword [eax + 0x48]
mov ecx, dword [edi]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [edi]
mov ecx, dword [eax + 0x44]
sub ecx, 9
sub ecx, 0x74badcd2
add ecx, 1
add ecx, 0x74badcd2
mov dword [eax + 0x44], ecx
jmp 0x4310ea
jmp 0x431144
jmp 0x431146
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
sub eax, 0xc5e2e2d0
sub eax, 1
add eax, 0xc5e2e2d0
mov ecx, dword [ebp - 0x60]
mov dword [ecx], eax
mov ebx, dword [ebp - 0x64]
mov dword [ebx], 5
mov edx, dword [ecx]
mov eax, dword [edi]
mov ecx, dword [eax + 0x44]
shl edx, cl
mov eax, dword [edi]
mov edi, dword [eax + 0x48]
mov ecx, edx
and ecx, edi
xor ecx, 0xffffffff
and ecx, 0xffffffff
or ecx, 0
mov esi, edi
and esi, edx
or edi, edx
add esi, edi
mov edi, dword [ebp - 0x20]
add esi, 1
add esi, ecx
mov dword [eax + 0x48], esi
mov eax, dword [ebx]
mov ecx, dword [edi]
add eax, dword [ecx + 0x44]
mov dword [ecx + 0x44], eax
mov esi, dword [ebp - 0x38]
mov eax, dword [edi]
cmp dword [eax + 0x44], 8
jb 0x43120a
mov eax, dword [edi]
mov eax, dword [eax + 0x30]
mov ecx, dword [edi]
cmp eax, dword [ecx + 0x34]
jae 0x4311cf
mov eax, dword [edi]
mov eax, dword [eax + 0x48]
mov ecx, dword [edi]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov esi, dword [ebp - 0x38]
mov byte [edx], al
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [edi]
mov ecx, dword [eax + 0x44]
add ecx, 0xbe0d57e0
mov edx, ecx
xor edx, 0xffffffff
and edx, 8
and ecx, 0xfffffff7
sub ecx, edx
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xbe0d57e0
and ecx, 0x41f2a81f
sub ecx, edx
mov dword [eax + 0x44], ecx
jmp 0x4311a4
mov ebx, dword [ebp - 0x48]
jmp 0x43120f
jmp 0x431211
jmp 0x431213
jmp 0x431215
jmp 0x431217
jmp 0x431219
mov dword [esi], 0x12
jmp 0x431221
cmp dword [esi], 0
jl 0x431258
jmp 0x431228
mov eax, dword [edi]
mov ecx, dword [esi]
movzx ecx, byte [ecx + 0x4743b0]
cmp byte [eax + ecx + 0x9152], 0
setne al
test al, 1
jne 0x431245
jmp 0x431247
jmp 0x43125a
jmp 0x431249
jmp 0x43124b
jmp 0x43124d
jmp 0x43124f
mov eax, dword [esi]
add eax, 0xffffffff
mov dword [esi], eax
jmp 0x431221
jmp 0x43125a
jmp 0x43125c
mov eax, dword [esi]
mov ecx, eax
and ecx, 1
or eax, 1
xor eax, 0xffffffff
sub eax, 0xffffffff
sub ecx, eax
mov eax, 4
cmp eax, ecx
setg al
test al, 1
jne 0x43127e
jmp 0x431285
mov eax, 4
jmp 0x43128a
mov eax, dword [esi]
add eax, 1
mov dword [esi], eax
jmp 0x43128e
mov eax, dword [esi]
sub eax, 0x8f95b5e9
add eax, 0xfffffffc
add eax, 0x8f95b5e9
mov ecx, dword [ebp - 0x68]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6c]
mov dword [edx], 4
mov eax, dword [ecx]
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [edi]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edx]
mov ecx, dword [edi]
mov edx, dword [ecx + 0x44]
xor eax, 0xffffffff
sub eax, 0xffffffff
sub edx, eax
mov dword [ecx + 0x44], edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [edi]
cmp dword [eax + 0x44], 8
jb 0x431346
jmp 0x4312db
mov eax, dword [edi]
mov eax, dword [eax + 0x30]
mov ecx, dword [edi]
cmp eax, dword [ecx + 0x34]
setb al
test al, 1
jne 0x4312ee
jmp 0x431309
jmp 0x4312f0
mov eax, dword [edi]
mov eax, dword [eax + 0x48]
mov ecx, dword [edi]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
mov esi, dword [ebp - 0x38]
jmp 0x431309
jmp 0x43130b
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [edi]
mov ecx, dword [eax + 0x44]
xor edx, edx
sub edx, ecx
add edx, 0x5120d67f
xor ecx, ecx
sub ecx, edx
sub ecx, 8
add ecx, 0xf0507fc9
sub ecx, 0xaedf2981
sub ecx, 0xf0507fc9
mov dword [eax + 0x44], ecx
mov ecx, dword [ebp - 0x28]
jmp 0x4312d1
jmp 0x431348
jmp 0x43134a
jmp 0x43134c
mov dword [ecx], 0
jmp 0x431354
mov eax, dword [ecx]
cmp eax, dword [esi]
setl al
test al, 1
jne 0x431364
jmp 0x431434
jmp 0x431366
mov eax, dword [edi]
mov ecx, dword [ecx]
movzx ecx, byte [ecx + 0x4743b0]
movzx eax, byte [eax + ecx + 0x9152]
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
mov ebx, dword [ebp - 0x70]
mov dword [ebx], 3
mov edx, dword [ecx]
mov eax, dword [edi]
mov ecx, dword [eax + 0x44]
shl edx, cl
mov eax, dword [edi]
mov esi, dword [eax + 0x48]
mov ecx, edx
and ecx, esi
xor ecx, 0xffffffff
add esi, edx
add esi, 1
xor edx, edx
sub edx, esi
xor esi, esi
sub esi, ecx
add edx, esi
xor ecx, ecx
sub ecx, edx
mov dword [eax + 0x48], ecx
mov eax, dword [ebx]
mov ecx, dword [edi]
add eax, dword [ecx + 0x44]
mov dword [ecx + 0x44], eax
jmp 0x4313bf
mov eax, dword [edi]
cmp dword [eax + 0x44], 8
setae al
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x48]
test al, 1
jne 0x4313d7
jmp 0x43141a
jmp 0x4313d9
mov eax, dword [edi]
mov eax, dword [eax + 0x30]
mov ecx, dword [edi]
cmp eax, dword [ecx + 0x34]
setb al
test al, 1
jne 0x4313ec
jmp 0x431400
mov eax, dword [edi]
mov eax, dword [eax + 0x48]
mov ecx, dword [edi]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
jmp 0x431402
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [edi]
mov ecx, dword [eax + 0x44]
add ecx, 0xfffffff8
mov dword [eax + 0x44], ecx
jmp 0x4313bd
jmp 0x43141c
jmp 0x43141e
jmp 0x431420
jmp 0x431422
jmp 0x431424
jmp 0x431426
jmp 0x431428
mov eax, dword [ecx]
sub eax, 0xffffffff
mov dword [ecx], eax
jmp 0x431352
mov dword [ebx], 0
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x10]
cmp eax, dword [ecx]
jae 0x4315c5
mov eax, dword [ebx]
mov ecx, eax
add ecx, 1
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ecx + eax]
mov edx, dword [ebp - 0x40]
mov dword [edx], eax
mov eax, dword [edi]
mov ecx, dword [edx]
movzx eax, word [eax + ecx*2 + 0x8cd2]
mov esi, dword [ebp - 0x84]
mov dword [esi], eax
mov eax, dword [edi]
mov ecx, dword [edx]
movzx eax, byte [eax + ecx + 0x9152]
mov edx, dword [ebp - 0x80]
mov dword [edx], eax
mov eax, dword [esi]
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [edi]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edx]
mov ecx, dword [edi]
add eax, dword [ecx + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [edi]
cmp dword [eax + 0x44], 8
jb 0x4314e0
mov eax, dword [edi]
mov eax, dword [eax + 0x30]
mov ecx, dword [edi]
cmp eax, dword [ecx + 0x34]
jae 0x4314c8
jmp 0x4314b2
mov eax, dword [edi]
mov eax, dword [eax + 0x48]
mov ecx, dword [edi]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
jmp 0x4314c8
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [edi]
mov ecx, dword [eax + 0x44]
sub ecx, 8
mov dword [eax + 0x44], ecx
jmp 0x43149c
mov eax, dword [ebp - 0x40]
jmp 0x4314e5
jmp 0x4314e7
jmp 0x4314e9
jmp 0x4314eb
cmp dword [eax], 0x10
setae al
test al, 1
jne 0x4314fa
jmp 0x4315c0
jmp 0x4314fc
jmp 0x4314fe
jmp 0x431500
mov eax, dword [ebx]
mov ecx, eax
add ecx, 1
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 0x7c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
add eax, 0xa64f027b
sub eax, 0x10
movsx eax, byte [eax + 0x59f7864a]
mov esi, dword [ebp - 0x78]
mov dword [esi], eax
mov eax, dword [ecx]
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [edi]
mov edx, dword [ecx + 0x48]
mov edi, edx
or edi, eax
xor edi, 0xffffffff
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edi, 0xffffffff
xor edx, 0xffffffff
and edi, edx
mov dword [ecx + 0x48], edi
mov edi, dword [ebp - 0x20]
mov eax, dword [esi]
mov ecx, dword [edi]
add eax, dword [ecx + 0x44]
mov dword [ecx + 0x44], eax
jmp 0x431566
jmp 0x431568
mov eax, dword [edi]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x431577
jmp 0x4315b8
jmp 0x431579
mov eax, dword [edi]
mov eax, dword [eax + 0x30]
mov ecx, dword [edi]
cmp eax, dword [ecx + 0x34]
setb al
test al, 1
jne 0x43158c
jmp 0x4315a0
mov eax, dword [edi]
mov eax, dword [eax + 0x48]
mov ecx, dword [edi]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [edi]
mov ecx, dword [eax + 0x44]
sub ecx, 8
mov dword [eax + 0x44], ecx
jmp 0x431566
jmp 0x4315ba
jmp 0x4315bc
jmp 0x4315be
jmp 0x4315c0
jmp 0x43143a
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret