Function at 0x4329d0
Capabilities:
Encode data using base64
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
lea edi, [esp + 0xb0]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x84], 0x4f3670
mov dword [esp + 0x88], 0x4f4d4e
mov dword [esp + 0x90], 0x4357d9
mov dword [esp + 0x8c], edi
lea edi, [esp + 0x6c]
mov dword [esp + 0x94], esp
mov dword [esp], edi
call fcn.00458010
mov edi, dword [esp + 0x44]
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 8]
add esi, eax
mov dword [esp + 0x28], esi
mov esi, dword [edi + 0x1c]
mov dword [esp + 0x1c], esi
sub esi, eax
lea eax, [esi + 2]
mov dword [esp + 0x68], esi
mov esi, dword [edi + 0x24]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], esi
mov esi, dword [edi + 0x30]
mov dword [esp], eax
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x5c], esi
call fcn.0041f350
sub esp, 4
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov esi, dword [edi + 0x70]
add edi, 0x54
mov dword [esp + 0x48], edi
cmp eax, 5
mov dword [esp + 0x2c], esi
jle 0x432b18
cmp eax, 6
mov byte [esi + 5], 0x89
je 0x432ab4
mov byte [esi + 6], 0x15
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x44]
add edi, 0x54
cmp eax, 7
mov dword [esp + 0x48], edi
jle 0x432b18
mov esi, dword [esp + 0x2c]
mov ebx, edi
cmp eax, 8
mov byte [esi + 7], bl
jle 0x432b0a
mov edx, edi
mov edi, dword [esp + 0x2c]
shr edx, 8
cmp eax, 9
mov byte [edi + 8], dl
jle 0x432b0a
mov edx, dword [esp + 0x48]
shr edx, 0x10
cmp eax, 0xa
mov byte [edi + 9], dl
jle 0x432b0a
mov eax, dword [esp + 0x48]
shr eax, 0x18
mov byte [edi + 0xa], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0xb
jle 0x432b3c
mov edi, dword [esp + 0x2c]
cmp eax, 0xc
mov byte [edi + 0xb], 0x89
jle 0x432b2e
mov byte [edi + 0xc], 0x35
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x44]
add edi, 0x58
cmp eax, 0xd
mov dword [esp + 0x4c], edi
jle 0x432b92
mov esi, dword [esp + 0x2c]
mov ebx, edi
cmp eax, 0xe
mov byte [esi + 0xd], bl
jle 0x432b84
mov edx, edi
mov edi, dword [esp + 0x2c]
shr edx, 8
cmp eax, 0xf
mov byte [edi + 0xe], dl
jle 0x432b84
mov edx, dword [esp + 0x4c]
shr edx, 0x10
cmp eax, 0x10
mov byte [edi + 0xf], dl
jle 0x432b84
mov eax, dword [esp + 0x4c]
shr eax, 0x18
mov byte [edi + 0x10], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x11
jle 0x432bb6
mov edi, dword [esp + 0x2c]
cmp eax, 0x12
mov byte [edi + 0x11], 0x89
jle 0x432ba8
mov byte [edi + 0x12], 0x3d
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x44]
add edi, 0x5c
cmp eax, 0x13
mov dword [esp + 0x50], edi
jle 0x432c0c
mov esi, dword [esp + 0x2c]
mov ebx, edi
cmp eax, 0x14
mov byte [esi + 0x13], bl
jle 0x432bfe
mov edx, edi
mov edi, dword [esp + 0x2c]
shr edx, 8
cmp eax, 0x15
mov byte [edi + 0x14], dl
jle 0x432bfe
mov edx, dword [esp + 0x50]
shr edx, 0x10
cmp eax, 0x16
mov byte [edi + 0x15], dl
jle 0x432bfe
mov eax, dword [esp + 0x50]
shr eax, 0x18
mov byte [edi + 0x16], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x17
jle 0x432c30
mov edi, dword [esp + 0x2c]
cmp eax, 0x18
mov byte [edi + 0x17], 0x89
jle 0x432c22
mov byte [edi + 0x18], 0x2d
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x44]
add edi, 0x60
cmp eax, 0x19
mov dword [esp + 0x54], edi
jle 0x432c86
mov esi, dword [esp + 0x2c]
mov ebx, edi
cmp eax, 0x1a
mov byte [esi + 0x19], bl
jle 0x432c78
mov edx, edi
mov edi, dword [esp + 0x2c]
shr edx, 8
cmp eax, 0x1b
mov byte [edi + 0x1a], dl
jle 0x432c78
mov edx, dword [esp + 0x54]
shr edx, 0x10
cmp eax, 0x1c
mov byte [edi + 0x1b], dl
jle 0x432c78
mov eax, dword [esp + 0x54]
shr eax, 0x18
mov byte [edi + 0x1c], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x1d
jle 0x432caa
mov edi, dword [esp + 0x2c]
cmp eax, 0x1e
mov byte [edi + 0x1d], 0x89
jle 0x432c9c
mov byte [edi + 0x1e], 0x1d
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x44]
add edi, 0x64
cmp eax, 0x1f
mov dword [esp + 0x58], edi
jle 0x432d00
mov esi, dword [esp + 0x2c]
mov ebx, edi
cmp eax, 0x20
mov byte [esi + 0x1f], bl
jle 0x432cf2
mov edx, edi
mov edi, dword [esp + 0x2c]
shr edx, 8
cmp eax, 0x21
mov byte [edi + 0x20], dl
jle 0x432cf2
mov edx, dword [esp + 0x58]
shr edx, 0x10
cmp eax, 0x22
mov byte [edi + 0x21], dl
jle 0x432cf2
mov eax, dword [esp + 0x58]
shr eax, 0x18
mov byte [edi + 0x22], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x23
jle 0x432d2a
mov edi, dword [esp + 0x2c]
cmp eax, 0x24
mov byte [edi + 0x23], 0x83
jle 0x432d1f
cmp eax, 0x25
mov byte [edi + 0x24], 0xc4
jle 0x432d1f
mov byte [edi + 0x25], 0xc
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x70]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
cmp dword [eax + 0x6c], 0x26
jle 0x435070
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x26], 0x5b
mov eax, dword [esp + 0x44]
cmp dword [eax + 0x6c], 0x27
mov edi, dword [eax + 0x70]
mov dword [esp + 0x2c], edi
jle 0x435070
mov eax, dword [esp + 0x44]
mov byte [edi + 0x27], 0x5f
cmp dword [eax + 0x6c], 0x28
mov edi, dword [eax + 0x70]
mov dword [esp + 0x2c], edi
jle 0x435070
mov eax, dword [esp + 0x44]
mov byte [edi + 0x28], 0x5e
cmp dword [eax + 0x6c], 0x29
mov edi, dword [eax + 0x70]
mov dword [esp + 0x2c], edi
jle 0x435070
mov eax, dword [esp + 0x44]
mov byte [edi + 0x29], 0x5d
cmp dword [eax + 0x6c], 0x2a
mov edi, dword [eax + 0x70]
mov dword [esp + 0x2c], edi
jle 0x435070
mov eax, dword [esp + 0x44]
mov byte [edi + 0x2a], 0xc3
cmp dword [eax + 0x6c], 0x2b
mov edi, dword [eax + 0x70]
mov dword [esp + 0x2c], edi
jle 0x435070
mov byte [edi + 0x2b], 0xb8
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov esi, dword [edi + 0x70]
mov ecx, dword [edi + 0x44]
cmp eax, 0x2c
mov dword [esp + 0x2c], esi
jle 0x432e09
cmp eax, 0x2d
mov byte [esi + 0x2c], cl
jle 0x432dff
mov edx, ecx
shr edx, 8
cmp eax, 0x2e
mov byte [esi + 0x2d], dl
jle 0x432dfb
mov edx, ecx
shr edx, 0x10
cmp eax, 0x2f
mov byte [esi + 0x2e], dl
jle 0x432dfb
shr ecx, 0x18
mov byte [esi + 0x2f], cl
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x30
jle 0x432e2d
mov edi, dword [esp + 0x2c]
cmp eax, 0x31
mov byte [edi + 0x30], 0x8b
jle 0x432e1f
mov byte [edi + 0x31], 0xd
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x44]
cmp eax, 0x32
lea edx, [edi + 0x50]
jle 0x432e75
mov edi, dword [esp + 0x2c]
cmp eax, 0x33
mov byte [edi + 0x32], dl
jle 0x432e67
mov ecx, edx
shr ecx, 8
cmp eax, 0x34
mov byte [edi + 0x33], cl
jle 0x432e67
mov ecx, edx
shr ecx, 0x10
cmp eax, 0x35
mov byte [edi + 0x34], cl
jle 0x432e67
mov eax, edx
shr eax, 0x18
mov byte [edi + 0x35], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x36
jle 0x432ea2
mov edi, dword [esp + 0x2c]
cmp eax, 0x37
mov byte [edi + 0x36], 0x88
jle 0x432e94
cmp eax, 0x38
mov byte [edi + 0x37], 0x14
jle 0x432e94
mov byte [edi + 0x38], 8
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x39
jle 0x432ec6
mov edi, dword [esp + 0x2c]
cmp eax, 0x3a
mov byte [edi + 0x39], 0xff
jle 0x432eb8
mov byte [edi + 0x3a], 0xc1
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x3b
jle 0x432eea
mov edi, dword [esp + 0x2c]
cmp eax, 0x3c
mov byte [edi + 0x3b], 0x89
jle 0x432edc
mov byte [edi + 0x3c], 0xd
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x3d
jle 0x432f29
mov edi, dword [esp + 0x2c]
cmp eax, 0x3e
mov byte [edi + 0x3d], dl
jle 0x432f1b
mov ecx, edx
shr ecx, 8
cmp eax, 0x3f
mov byte [edi + 0x3e], cl
jle 0x432f1b
mov ecx, edx
shr ecx, 0x10
cmp eax, 0x40
mov byte [edi + 0x3f], cl
jle 0x432f1b
shr edx, 0x18
mov byte [edi + 0x40], dl
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x41
jle 0x432f4d
mov edi, dword [esp + 0x2c]
cmp eax, 0x42
mov byte [edi + 0x41], 0x81
jle 0x432f3f
mov byte [edi + 0x42], 0xf9
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x44]
cmp eax, 0x43
mov ecx, dword [edi + 0x48]
jle 0x432f93
mov edi, dword [esp + 0x2c]
cmp eax, 0x44
mov byte [edi + 0x43], cl
jle 0x432f85
mov edx, ecx
shr edx, 8
cmp eax, 0x45
mov byte [edi + 0x44], dl
jle 0x432f85
mov edx, ecx
shr edx, 0x10
cmp eax, 0x46
mov byte [edi + 0x45], dl
jle 0x432f85
shr ecx, 0x18
mov byte [edi + 0x46], cl
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x47
jle 0x432fb7
mov edi, dword [esp + 0x2c]
cmp eax, 0x48
mov byte [edi + 0x47], 0x74
jle 0x432fa9
mov byte [edi + 0x48], 3
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x49
jle 0x432fd8
mov edi, dword [esp + 0x2c]
cmp eax, 0x4a
mov byte [edi + 0x49], 0x31
jle 0x432fcd
mov byte [edi + 0x4a], 0xc0
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x70]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
cmp dword [eax + 0x6c], 0x4b
jle 0x435068
mov edi, eax
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x4b], 0xc3
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
cmp eax, 0x4c
mov dword [esp + 0x2c], edi
jle 0x433023
cmp eax, 0x4d
mov byte [edi + 0x4c], 0x83
jle 0x433015
cmp eax, 0x4e
mov byte [edi + 0x4d], 0xec
jle 0x433015
mov byte [edi + 0x4e], 0xc
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x4f
jle 0x433059
mov edi, dword [esp + 0x2c]
cmp eax, 0x50
mov byte [edi + 0x4f], 0x89
jle 0x43304b
cmp eax, 0x51
mov byte [edi + 0x50], 0x54
jle 0x43304b
cmp eax, 0x52
mov byte [edi + 0x51], 0x24
jle 0x43304b
mov byte [edi + 0x52], 4
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x53
jle 0x433086
mov edi, dword [esp + 0x2c]
cmp eax, 0x54
mov byte [edi + 0x53], 0xc7
jle 0x433078
cmp eax, 0x55
mov byte [edi + 0x54], 4
jle 0x433078
mov byte [edi + 0x55], 0x24
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x56
jle 0x4330db
movzx ebx, byte [esp + 0x44]
mov edi, dword [esp + 0x2c]
cmp eax, 0x57
mov byte [edi + 0x56], bl
jle 0x435813
mov edx, dword [esp + 0x44]
shr edx, 8
cmp eax, 0x58
mov byte [edi + 0x57], dl
jle 0x435813
mov edx, dword [esp + 0x44]
shr edx, 0x10
cmp eax, 0x59
mov byte [edi + 0x58], dl
jle 0x435813
mov esi, edi
mov edi, dword [esp + 0x44]
mov eax, edi
shr eax, 0x18
mov byte [esi + 0x59], al
mov eax, dword [edi + 0x70]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
cmp dword [eax + 0x6c], 0x5a
jle 0x435060
mov edi, eax
mov eax, dword [esp + 0x2c]
mov ecx, 0x4271e0
mov byte [eax + 0x5a], 0xb8
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
cmp eax, 0x5b
mov dword [esp + 0x2c], edi
jle 0x43313d
cmp eax, 0x5c
mov byte [edi + 0x5b], cl
jle 0x43312f
mov edx, ecx
shr edx, 8
cmp eax, 0x5d
mov byte [edi + 0x5c], dl
jle 0x43312f
mov edx, ecx
shr edx, 0x10
cmp eax, 0x5e
mov byte [edi + 0x5d], dl
jle 0x43312f
shr ecx, 0x18
mov byte [edi + 0x5e], cl
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x5f
jle 0x433161
mov edi, dword [esp + 0x2c]
cmp eax, 0x60
mov byte [edi + 0x5f], 0xff
jle 0x433153
mov byte [edi + 0x60], 0xd0
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x61
jle 0x433197
mov edi, dword [esp + 0x2c]
cmp eax, 0x62
mov byte [edi + 0x61], 0x8b
jle 0x433189
cmp eax, 0x63
mov byte [edi + 0x62], 0x54
jle 0x433189
cmp eax, 0x64
mov byte [edi + 0x63], 0x24
jle 0x433189
mov byte [edi + 0x64], 4
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x65
jle 0x4331c1
mov edi, dword [esp + 0x2c]
cmp eax, 0x66
mov byte [edi + 0x65], 0x83
jle 0x4331b6
cmp eax, 0x67
mov byte [edi + 0x66], 0xc4
jle 0x4331b6
mov byte [edi + 0x67], 0xc
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x70]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
cmp dword [eax + 0x6c], 0x68
jle 0x4331da
mov edi, dword [esp + 0x2c]
mov byte [edi + 0x68], 0xc3
mov eax, dword [eax + 0x70]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x30], eax
mov dword [eax], 2
mov eax, dword [esp + 0x68]
add eax, 1
mov dword [esp + 0x34], eax
not eax
mov dword [esp + 0x38], eax
lea esi, [esi]
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x4333f6
mov ecx, dword [esp + 0x28]
xor edx, edx
mov dword [esp + 0x20], 0
mov ebp, eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + edx*4]
test ebx, ebx
je 0x43335e
mov eax, dword [esp + 0x1c]
movzx esi, byte [eax]
mov ebx, esi
cmp bl, 0xff
je 0x434980
mov edi, esi
mov eax, 2
and edi, 7
mov ecx, edi
cmp cl, 7
je 0x433281
cmp cl, 2
mov eax, 1
ja 0x433281
cmp esi, 0x32
jg 0x433281
mov ecx, dword [esp + 0x1c]
jmp 0x433278
add eax, 1
cmp eax, 0x7f
je 0x43327d
cmp bl, byte [ecx + eax]
je 0x433270
mov dword [esp + 0x1c], ecx
lea edi, [esi - 0x78]
cmp edi, 7
jbe 0x434880
test esi, esi
je 0x434880
lea edi, [esi - 0xf0]
add eax, edx
cmp edi, 0xe
jbe 0x434880
cmp esi, 0x3a
je 0x434880
cmp esi, 0x3f
jg 0x4332c7
mov edi, ebx
and edi, 7
sub edi, 5
cmp edi, 1
mov edi, 0x80000000
cmovbe eax, edi
cmp esi, 0x38
je 0x43488e
cmp esi, 0xff
je 0x43498f
cmp esi, 0x3f
sete cl
and ebx, 0xfffffff7
cmp bl, 0x27
mov edi, ecx
je 0x4347e0
test cl, cl
mov ebx, 0x80000000
jne 0x4347e0
cmp ebp, eax
mov esi, eax
setg cl
not esi
shr esi, 0x1f
mov edi, ecx
and esi, edi
cmp ebx, 0x80000000
je 0x434a0f
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
shr edi, 0x1f
mov ecx, esi
test cl, cl
je 0x433341
mov esi, dword [esp + 0x30]
lea esi, [esi + eax*4]
mov eax, dword [esi]
test al, 1
jne 0x433341
add dword [esp + 0x20], 1
or eax, 1
mov dword [esi], eax
mov eax, edi
test al, al
je 0x43335e
mov eax, dword [esp + 0x30]
lea ebx, [eax + ebx*4]
mov eax, dword [ebx]
test al, 2
jne 0x43335e
add dword [esp + 0x20], 1
or eax, 2
mov dword [ebx], eax
add edx, 1
add dword [esp + 0x1c], 1
cmp edx, ebp
jne 0x433220
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x433200
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
lea esi, [esi]
add dword [esp + 0x38], 1
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov edx, dword [ebp + eax*4 - 4]
test edx, edx
je 0x4333f0
mov ebx, eax
movzx eax, byte [esi + eax - 1]
lea ecx, [eax - 0xd8]
mov edx, eax
cmp ecx, 0x17
ja 0x4333f0
and edx, 7
cmp dl, 7
sete dl
movzx edx, dl
add edx, ebx
movzx ebx, byte [esi + edx]
mov ecx, edx
mov dword [esp + 0x40], edx
mov edx, ebx
mov byte [esp + 0x1c], bl
and edx, 0xfffffff7
cmp dl, 0x27
jne 0x4333f0
lea edx, [ebp + ecx*4]
cmp dword [edx], 1
je 0x4355db
lea esi, [esi]
cmp dword [esp + 0x38], edi
jne 0x433390
mov eax, dword [esp + 0x44]
cmp dword [eax + 0x6c], 0x69
jle 0x435058
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x69], 0x55
mov eax, dword [esp + 0x44]
cmp dword [eax + 0x6c], 0x6a
mov edi, dword [eax + 0x70]
mov dword [esp + 0x2c], edi
jle 0x435058
mov eax, dword [esp + 0x44]
mov byte [edi + 0x6a], 0x56
cmp dword [eax + 0x6c], 0x6b
mov edi, dword [eax + 0x70]
mov dword [esp + 0x2c], edi
jle 0x435058
mov eax, dword [esp + 0x44]
mov byte [edi + 0x6b], 0x57
cmp dword [eax + 0x6c], 0x6c
mov edi, dword [eax + 0x70]
mov dword [esp + 0x2c], edi
jle 0x435058
mov byte [edi + 0x6c], 0x53
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
cmp eax, 0x6d
mov dword [esp + 0x2c], edi
jle 0x43348e
cmp eax, 0x6e
mov byte [edi + 0x6d], 0x83
jle 0x433480
cmp eax, 0x6f
mov byte [edi + 0x6e], 0xec
jle 0x433480
mov byte [edi + 0x6f], 0xc
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x70
jle 0x4334b2
mov edi, dword [esp + 0x2c]
cmp eax, 0x71
mov byte [edi + 0x70], 0x8b
jle 0x4334a4
mov byte [edi + 0x71], 0x15
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x72
jle 0x4334fe
movzx ebx, byte [esp + 0x48]
mov edi, dword [esp + 0x2c]
cmp eax, 0x73
mov byte [edi + 0x72], bl
jle 0x4334f0
mov edx, dword [esp + 0x48]
shr edx, 8
cmp eax, 0x74
mov byte [edi + 0x73], dl
jle 0x4334f0
mov edx, dword [esp + 0x48]
shr edx, 0x10
cmp eax, 0x75
mov byte [edi + 0x74], dl
jle 0x4334f0
mov eax, dword [esp + 0x48]
shr eax, 0x18
mov byte [edi + 0x75], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x76
jle 0x433522
mov edi, dword [esp + 0x2c]
cmp eax, 0x77
mov byte [edi + 0x76], 0x8b
jle 0x433514
mov byte [edi + 0x77], 0x35
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x78
jle 0x43356e
movzx ebx, byte [esp + 0x4c]
mov edi, dword [esp + 0x2c]
cmp eax, 0x79
mov byte [edi + 0x78], bl
jle 0x433560
mov edx, dword [esp + 0x4c]
shr edx, 8
cmp eax, 0x7a
mov byte [edi + 0x79], dl
jle 0x433560
mov edx, dword [esp + 0x4c]
shr edx, 0x10
cmp eax, 0x7b
mov byte [edi + 0x7a], dl
jle 0x433560
mov eax, dword [esp + 0x4c]
shr eax, 0x18
mov byte [edi + 0x7b], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x7c
jle 0x433592
mov edi, dword [esp + 0x2c]
cmp eax, 0x7d
mov byte [edi + 0x7c], 0x8b
jle 0x433584
mov byte [edi + 0x7d], 0x3d
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x7e
jle 0x4335e8
movzx ebx, byte [esp + 0x50]
mov edi, dword [esp + 0x2c]
cmp eax, 0x7f
mov byte [edi + 0x7e], bl
jle 0x4335da
mov edx, dword [esp + 0x50]
shr edx, 8
cmp eax, 0x80
mov byte [edi + 0x7f], dl
jle 0x4335da
mov edx, dword [esp + 0x50]
shr edx, 0x10
cmp eax, 0x81
mov byte [edi + 0x80], dl
jle 0x4335da
mov eax, dword [esp + 0x50]
shr eax, 0x18
mov byte [edi + 0x81], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x82
jle 0x433616
mov edi, dword [esp + 0x2c]
cmp eax, 0x83
mov byte [edi + 0x82], 0x8b
jle 0x433608
mov byte [edi + 0x83], 0x2d
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x84
jle 0x433676
movzx ebx, byte [esp + 0x54]
mov edi, dword [esp + 0x2c]
cmp eax, 0x85
mov byte [edi + 0x84], bl
jle 0x433668
mov edx, dword [esp + 0x54]
shr edx, 8
cmp eax, 0x86
mov byte [edi + 0x85], dl
jle 0x433668
mov edx, dword [esp + 0x54]
shr edx, 0x10
cmp eax, 0x87
mov byte [edi + 0x86], dl
jle 0x433668
mov eax, dword [esp + 0x54]
shr eax, 0x18
mov byte [edi + 0x87], al
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x88
jle 0x4336a4
mov edi, dword [esp + 0x2c]
cmp eax, 0x89
mov byte [edi + 0x88], 0x8b
jle 0x433696
mov byte [edi + 0x89], 0x1d
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
mov edi, dword [edi + 0x70]
mov dword [esp + 0x2c], edi
cmp eax, 0x8a
jle 0x4336f1
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x58]
cmp eax, 0x8b
mov edi, esi
mov byte [edi + 0x8a], dl
jle 0x4336f1
mov edi, edx
shr edx, 8
cmp eax, 0x8c
mov byte [esi + 0x8b], dl
jle 0x4336f1
mov edx, edi
shr edx, 0x10
cmp eax, 0x8d
mov byte [esi + 0x8c], dl
jle 0x4336f1
mov edx, edi
shr edx, 0x18
mov byte [esi + 0x8d], dl
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x4357a9
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x44]
mov ebp, 0x8e
mov dword [esp + 0x54], 0
sub eax, 1
mov dword [esp + 0x5c], eax
lea esi, [esi]
mov edi, dword [esp + 0x54]
cmp dword [esp + 0x3c], edi
jle 0x433cc8
mov eax, dword [esp + 0xa4]
mov edi, dword [eax + edi*4]
test edi, edi
mov dword [esp + 0x30], edi
je 0x433cc8
mov edi, dword [esp + 0x54]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x64]
sub edi, 1
mov dword [esp + 0x58], edi
mov edi, esi
lea esi, [esi]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + esi*4]
mov eax, dword [esp + 0x28]
add eax, esi
mov esi, 3
movzx edx, byte [eax]
cmp dl, 0xff
je 0x4337b0
mov ebx, edx
mov esi, 2
and ebx, 7
cmp bl, 7
je 0x4337b0
cmp bl, 2
mov esi, 1
ja 0x4337b0
cmp dl, 0x32
jbe 0x4337a8
jmp 0x4337b0
add esi, 1
cmp esi, 0x7f
je 0x4337b0
cmp dl, byte [eax + esi]
je 0x4337a0
lea esi, [esi]
cmp dword [esp + 0x30], 0xf
jg 0x434a20
mov dword [ecx], ebp
movzx eax, byte [eax]
mov ebx, dword [esp + 0x1c]
mov ecx, eax
mov byte [esp + 0x40], al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
cmp ecx, 0xff
movzx eax, byte [eax + ebx + 1]
mov dword [esp + 0x38], eax
je 0x434840
lea edx, [ecx - 0x78]
mov dword [esp + 0x24], ecx
cmp edx, 7
jbe 0x434684
test ecx, ecx
je 0x434684
movzx ebx, byte [esp + 0x40]
mov eax, ecx
lea edx, [ecx - 0xf0]
sar eax, 3
mov dword [esp + 0x48], eax
and eax, 7
mov dword [esp + 0x34], eax
and ebx, 7
cmp edx, 0xe
movzx eax, bl
mov byte [esp + 0x2c], bl
mov dword [esp + 0x4c], eax
jbe 0x434684
cmp ecx, 0x3a
je 0x434684
cmp ecx, 0x3f
jg 0x433856
lea edx, [eax - 5]
cmp edx, 1
jbe 0x434684
cmp dword [esp + 0x20], 0x3b
je 0x4349a5
mov eax, dword [esp + 0x20]
sub eax, 0x40
cmp byte [esp + 0x2c], 3
mov dword [esp + 0x50], eax
seta cl
cmp dword [esp + 0x4c], 7
setne dl
test cl, dl
je 0x4339c7
cmp eax, 0xaf
ja 0x4339c7
xor edx, edx
cmp dword [esp + 0x20], 0x3b
mov eax, dword [esp + 0x4c]
mov ecx, dword [edi + 0x70]
sete dl
lea edx, [eax + edx - 3]
mov edx, dword [edx*4 + 0x4fece0]
lea ebx, [edx*8 + 0x89c0]
mov edx, dword [edi + 0x6c]
cmp edx, ebp
jle 0x4338b6
mov eax, ebx
shr eax, 8
mov byte [ecx + ebp], al
lea eax, [ebp + 1]
cmp edx, eax
jle 0x4338c1
mov byte [ecx + ebp + 1], bl
cmp byte [esp + 0x2c], 6
mov edx, dword [esp + 0x5c]
lea ecx, [ebp + 2]
cmovne edx, dword [esp + 0x58]
cmp edx, 0x7f
jle 0x4349b2
mov ebx, dword [edi + 0x6c]
mov eax, dword [edi + 0x70]
cmp ebx, ecx
jle 0x4338ef
mov byte [eax + ecx], 0x25
mov ebx, dword [edi + 0x6c]
mov eax, dword [edi + 0x70]
lea ecx, [ebp + 3]
cmp ebx, ecx
jle 0x4338fa
mov byte [eax + ebp + 3], dl
lea ecx, [ebp + 4]
cmp ebx, ecx
jle 0x43390a
mov ecx, edx
shr ecx, 8
mov byte [eax + ebp + 4], cl
lea ecx, [ebp + 5]
cmp ebx, ecx
jle 0x43391a
mov ecx, edx
shr ecx, 0x10
mov byte [eax + ebp + 5], cl
lea ecx, [ebp + 6]
cmp ebx, ecx
jle 0x433928
shr edx, 0x18
mov byte [eax + ebp + 6], dl
add ebp, 7
cmp byte [esp + 0x2c], 5
ja 0x434730
xor edx, edx
cmp dword [esp + 0x50], 0x2f
mov eax, dword [esp + 0x34]
mov ecx, dword [edi + 0x6c]
mov ebx, dword [edi + 0x70]
setbe dl
shl edx, 3
imul edx, dword [eax*4 + 0x4fece0]
add edx, 0xfb680
cmp ecx, ebp
jle 0x433967
mov eax, edx
shr eax, 0x10
mov byte [ebx + ebp], al
lea eax, [ebp + 1]
cmp ecx, eax
jle 0x433977
mov eax, edx
shr eax, 8
mov byte [ebx + ebp + 1], al
lea eax, [ebp + 2]
cmp ecx, eax
jle 0x433982
mov byte [ebx + ebp + 2], dl
mov edx, dword [edi + 0x6c]
lea eax, [ebp + 3]
mov ecx, dword [edi + 0x20]
mov ebx, dword [edi + 0x70]
cmp edx, eax
jle 0x433996
mov byte [ebx + ebp + 3], cl
lea eax, [ebp + 4]
cmp edx, eax
jle 0x4339a6
mov eax, ecx
shr eax, 8
mov byte [ebx + ebp + 4], al
lea eax, [ebp + 5]
cmp edx, eax
jle 0x4339b6
mov eax, ecx
shr eax, 0x10
mov byte [ebx + ebp + 5], al
lea eax, [ebp + 6]
cmp edx, eax
jle 0x4339c4
shr ecx, 0x18
mov byte [ebx + ebp + 6], cl
add ebp, 7
mov eax, dword [esp + 0x24]
lea edx, [eax - 0x20]
cmp edx, 0x17
ja 0x4347b9
cmp byte [esp + 0x2c], 4
ja 0x4347b9
cmp dword [esp + 0x20], 0x3c
sete dl
mov eax, dword [esp + 0x34]
movzx ebx, dl
lea ecx, [eax - 3]
sub ecx, ebx
mov ebx, dword [edi + 0x70]
mov ecx, dword [ecx*4 + 0x4fece0]
mov dword [esp + 0x50], ebx
lea eax, [ecx*8 + 0x89c1]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x60], eax
cmp ecx, ebp
jle 0x433a22
mov ebx, eax
mov eax, dword [esp + 0x50]
shr ebx, 8
mov byte [eax + ebp], bl
lea ebx, [ebp + 1]
cmp ecx, ebx
jle 0x433a36
movzx ebx, byte [esp + 0x60]
mov eax, dword [esp + 0x50]
mov byte [eax + ebp + 1], bl
cmp dword [esp + 0x34], 6
lea ecx, [ebp + 2]
sete bl
or bl, dl
mov edx, dword [esp + 0x5c]
cmove edx, dword [esp + 0x58]
mov byte [esp + 0x50], bl
cmp edx, 0x7f
jle 0x4348c4
mov ebx, dword [edi + 0x6c]
mov eax, dword [edi + 0x70]
cmp ebx, ecx
jle 0x433a67
mov byte [eax + ecx], 0x81
lea ecx, [ebp + 3]
cmp ebx, ecx
jle 0x433a73
mov byte [eax + ebp + 3], 0xe1
mov ecx, dword [edi + 0x6c]
lea eax, [ebp + 4]
mov ebx, dword [edi + 0x70]
cmp ecx, eax
jle 0x433a84
mov byte [ebx + ebp + 4], dl
lea eax, [ebp + 5]
cmp ecx, eax
jle 0x433a94
mov eax, edx
shr eax, 8
mov byte [ebx + ebp + 5], al
lea eax, [ebp + 6]
cmp ecx, eax
jle 0x433aa4
mov eax, edx
shr eax, 0x10
mov byte [ebx + ebp + 6], al
lea eax, [ebp + 7]
cmp ecx, eax
jle 0x433ab2
shr edx, 0x18
mov byte [ebx + ebp + 7], dl
add ebp, 8
cmp byte [esp + 0x50], 0
mov edx, dword [edi + 0x6c]
mov ecx, dword [edi + 0x70]
jne 0x434914
cmp edx, ebp
jle 0x433ace
mov byte [ecx + ebp], 0x8d
lea ebx, [ebp + 1]
cmp edx, ebx
jle 0x433ada
mov byte [ecx + ebp + 1], 0x89
mov edx, dword [edi + 0x6c]
lea eax, [ebp + 2]
mov ecx, dword [edi + 0x20]
mov ebx, dword [edi + 0x70]
cmp edx, eax
jle 0x433aee
mov byte [ebx + ebp + 2], cl
lea eax, [ebp + 3]
cmp edx, eax
jle 0x433afe
mov eax, ecx
shr eax, 8
mov byte [ebx + ebp + 3], al
lea eax, [ebp + 4]
cmp edx, eax
jle 0x433b0e
mov eax, ecx
shr eax, 0x10
mov byte [ebx + ebp + 4], al
lea eax, [ebp + 5]
cmp edx, eax
jle 0x433b1c
shr ecx, 0x18
mov byte [ebx + ebp + 5], cl
add ebp, 6
mov eax, dword [esp + 0x48]
jmp dword [eax*4 + 0x4fb598]
add dword [esp + 0x1c], esi
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x3c], eax
jle 0x433cc6
mov esi, eax
mov eax, dword [esp + 0xa4]
mov esi, dword [eax + esi*4]
test esi, esi
mov dword [esp + 0x30], esi
jne 0x433760
mov esi, edi
add dword [esp + 0x54], 1
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x3c]
jne 0x433720
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], ebp
cmp dword [eax + 0x6c], ebp
jl 0x433e89
mov ebp, dword [eax + 0x70]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1c], 0
add eax, 1
mov dword [esp + 0x30], eax
jmp 0x433d24
cmp ebx, 0x3f
je 0x433d49
cmp ebx, 0xff
je 0x433d49
add dword [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x54], eax
je 0x433e50
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0x1c]
mov eax, dword [edi + esi*4]
cmp eax, 0xf
jle 0x433d11
mov ebx, dword [esp + 0x28]
movzx ebx, byte [ebx + esi]
mov edx, ebx
and edx, 0xfffffff7
cmp dl, 0x27
jne 0x433d04
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
cmp ebx, 0xff
movzx esi, byte [esi + ecx + 1]
je 0x434aa0
lea ebx, [esi - 0x100]
cmp esi, 0x80
cmovge esi, ebx
mov ebx, dword [esp + 0x1c]
lea ebx, [esi + ebx + 2]
mov esi, ebx
shr esi, 0x1f
mov ecx, esi
test cl, cl
jne 0x434a97
cmp ebx, dword [esp + 0x3c]
jge 0x434a97
cmp dl, 0x27
movzx edx, byte [ebp + eax]
jne 0x433da5
cmp dl, 0x84
je 0x434dbe
cmp dl, 0xf
je 0x434ab3
lea esi, [eax + 1]
mov ecx, esi
mov dword [esp + 0x20], esi
movzx esi, dl
mov edx, dword [edi + ebx*4]
lea ebx, [esi - 0x72]
sub edx, ecx
cmp ebx, 5
jbe 0x434a68
cmp esi, 0xeb
je 0x434a68
lea ebx, [esi - 0x82]
cmp ebx, 5
jbe 0x433dee
cmp esi, 0xe9
jne 0x433d11
mov edi, dword [esp + 0x44]
sub edx, 4
mov ebx, dword [edi + 0x6c]
mov edi, dword [esp + 0x20]
cmp edi, ebx
jge 0x433e04
mov byte [ebp + edi], dl
lea esi, [eax + 2]
cmp ebx, esi
jle 0x433e16
mov esi, edx
shr esi, 8
mov ecx, esi
mov byte [ebp + eax + 2], cl
lea esi, [eax + 3]
cmp esi, ebx
jge 0x433e28
mov esi, edx
shr esi, 0x10
mov ecx, esi
mov byte [ebp + eax + 3], cl
lea esi, [eax + 4]
cmp ebx, esi
jle 0x433e36
shr edx, 0x18
mov byte [ebp + eax + 4], dl
mov eax, dword [esp + 0x44]
add dword [esp + 0x1c], 1
mov ebp, dword [eax + 0x70]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x54], eax
jne 0x433d24
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x6c]
test edx, edx
jle 0x433e89
mov byte [ebp], 0xe9
mov edx, dword [eax + 0x6c]
mov eax, dword [eax + 0x70]
cmp edx, 1
jle 0x433e89
cmp edx, 2
mov byte [eax + 1], 0x64
jle 0x433e89
cmp edx, 3
mov byte [eax + 2], 0
jle 0x433e89
cmp edx, 4
mov byte [eax + 3], 0
jle 0x433e89
mov byte [eax + 4], 0
lea ecx, [esp + 0xa4]
mov dword [esp], 0
mov dword [esp + 0x70], 0
call fcn.0041f350
sub esp, 4
lea eax, [esp + 0x6c]
mov dword [esp], eax
call fcn.004580a0
mov eax, dword [esp + 0x2c]
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [edi + 0x6c]
mov edx, dword [edi + 0x70]
cmp eax, ebp
jle 0x434698
mov byte [edx + ebp], 0xb8
mov eax, dword [edi + 0x6c]
mov edx, dword [edi + 0x70]
lea ecx, [ebp + 1]
cmp eax, ecx
jle 0x4346a4
mov byte [edx + ebp + 1], 1
lea ecx, [ebp + 2]
cmp eax, ecx
jle 0x4346b0
mov byte [edx + ebp + 2], 0
lea ecx, [ebp + 3]
cmp eax, ecx
jle 0x4346bc
mov byte [edx + ebp + 3], 0
lea ecx, [ebp + 4]
cmp eax, ecx
jle 0x4346c8
mov byte [edx + ebp + 4], 0
mov eax, dword [edi + 0x6c]
lea edx, [ebp + 5]
mov ecx, dword [edi + 0x70]
cmp eax, edx
jle 0x4346e0
mov byte [ecx + ebp + 5], 0xe9
mov eax, dword [edi + 0x6c]
mov ecx, dword [edi + 0x70]
lea ebx, [ebp + 6]
mov edx, 1
sub edx, ebx
cmp eax, ebx
jle 0x4346f2
mov byte [ecx + ebp + 6], dl
lea ebx, [ebp + 7]
cmp eax, ebx
jle 0x434702
mov ebx, edx
shr ebx, 8
mov byte [ecx + ebp + 7], bl
lea ebx, [ebp + 8]
cmp eax, ebx
jle 0x434712
mov ebx, edx
shr ebx, 0x10
mov byte [ecx + ebp + 8], bl
lea ebx, [ebp + 9]
cmp eax, ebx
jle 0x434720
shr edx, 0x18
mov byte [ecx + ebp + 9], dl
add ebp, 0xa
jmp 0x433ca0
mov eax, dword [esp + 0x48]
mov edx, 0x6587000
bt edx, eax
jae 0x4347b5
mov edx, dword [edi + 0x6c]
mov ecx, dword [edi + 0x70]
cmp edx, ebp
jle 0x43474c
mov byte [ecx + ebp], 0x8b
lea ebx, [ebp + 1]
cmp edx, ebx
jle 0x434758
mov byte [ecx + ebp + 1], 4
lea ebx, [ebp + 2]
cmp edx, ebx
jle 0x434764
mov byte [ecx + ebp + 2], 0x85
mov edx, dword [edi + 0x6c]
lea ecx, [ebp + 3]
mov eax, dword [edi + 0x2c]
mov ebx, dword [edi + 0x70]
cmp edx, ecx
mov dword [esp + 0x50], eax
jle 0x43477c
mov byte [ebx + ebp + 3], al
lea ecx, [ebp + 4]
cmp edx, ecx
jle 0x43478e
mov ecx, dword [esp + 0x50]
shr ecx, 8
mov byte [ebx + ebp + 4], cl
lea ecx, [ebp + 5]
cmp edx, ecx
jle 0x4347a0
mov ecx, dword [esp + 0x50]
shr ecx, 0x10
mov byte [ebx + ebp + 5], cl
lea ecx, [ebp + 6]
cmp edx, ecx
jle 0x4347b2
mov edx, dword [esp + 0x50]
shr edx, 0x18
mov byte [ebx + ebp + 6], dl
add ebp, 7
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], 0x3c
lea ecx, [eax - 0x60]
sete dl
cmp ecx, 0x17
jbe 0x4339ea
test dl, dl
je 0x433b1f
jmp 0x4339ea
mov esi, dword [esp + 0x1c]
movsx ebx, byte [esi + 1]
lea ebx, [edx + ebx + 2]
mov esi, ebx
shr esi, 0x1f
cmp ebp, ebx
setle byte [esp + 0x24]
movzx ecx, byte [esp + 0x24]
or esi, ecx
mov ecx, edi
test cl, cl
jne 0x4348ae
mov ecx, esi
test cl, cl
jne 0x4332fd
mov edi, ebx
not edi
shr edi, 0x1f
cmp ebx, ebp
setl cl
mov esi, ecx
and edi, esi
mov esi, eax
not esi
shr esi, 0x1f
cmp ebp, eax
setg byte [esp + 0x24]
movzx ecx, byte [esp + 0x24]
and esi, ecx
jmp 0x433324
mov eax, dword [esp + 0x28]
mov byte [esp + 0x2c], 7
mov dword [esp + 0x48], 0x1f
mov dword [esp + 0x34], 7
mov dword [esp + 0x4c], 7
mov dword [esp + 0x24], 0xff
movzx edx, byte [eax + ebx + 2]
shl edx, 8
add edx, dword [esp + 0x38]
mov dword [esp + 0x38], edx
jmp 0x4339c7
cmp esi, 0x38
mov eax, 0x80000000
jne 0x4332d0
xor ebx, ebx
cmp esi, 0x3f
sete al
cmp ebp, ebx
mov edi, eax
setle al
mov ecx, edi
mov esi, eax
mov eax, 0x80000000
test cl, cl
je 0x434809
mov eax, esi
test al, al
je 0x4349f6
mov eax, 0x80000000
xor esi, esi
jmp 0x433319
mov ebx, dword [edi + 0x6c]
lea eax, [edx + 0x83e100]
mov edx, dword [edi + 0x70]
mov dword [esp + 0x60], eax
cmp ebx, ecx
jle 0x4348de
shr eax, 0x10
mov byte [edx + ecx], al
lea ecx, [ebp + 3]
cmp ebx, ecx
jle 0x4348f0
mov ecx, dword [esp + 0x60]
shr ecx, 8
mov byte [edx + ebp + 3], cl
lea ecx, [ebp + 4]
cmp ebx, ecx
jle 0x434900
movzx eax, byte [esp + 0x60]
mov byte [edx + ebp + 4], al
add ebp, 5
cmp byte [esp + 0x50], 0
mov edx, dword [edi + 0x6c]
mov ecx, dword [edi + 0x70]
je 0x433ac6
cmp edx, ebp
jle 0x43491c
mov byte [ecx + ebp], 0x8d
lea ebx, [ebp + 1]
cmp edx, ebx
jle 0x434928
mov byte [ecx + ebp + 1], 0xc
lea ebx, [ebp + 2]
cmp edx, ebx
jle 0x434934
mov byte [ecx + ebp + 2], 0x8d
mov edx, dword [edi + 0x6c]
lea eax, [ebp + 3]
mov ecx, dword [edi + 0x2c]
mov ebx, dword [edi + 0x70]
cmp edx, eax
jle 0x434948
mov byte [ebx + ebp + 3], cl
lea eax, [ebp + 4]
cmp edx, eax
jle 0x434958
mov eax, ecx
shr eax, 8
mov byte [ebx + ebp + 4], al
lea eax, [ebp + 5]
cmp edx, eax
jle 0x434968
mov eax, ecx
shr eax, 0x10
mov byte [ebx + ebp + 5], al
lea eax, [ebp + 6]
cmp edx, eax
jle 0x434976
shr ecx, 0x18
mov byte [ebx + ebp + 6], cl
add ebp, 7
jmp 0x433b1f
cmp esi, 0xff
lea eax, [edx + 3]
jne 0x4332dc
mov eax, dword [esp + 0x1c]
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 1]
shl ebx, 8
add ebx, eax
jmp 0x434890
mov dword [esp + 0x50], 0xfffffffb
jmp 0x433884
mov ebx, dword [edi + 0x6c]
lea eax, [edx + 0x83e000]
mov edx, dword [edi + 0x70]
mov dword [esp + 0x60], eax
cmp ebx, ecx
jle 0x4349cc
shr eax, 0x10
mov byte [edx + ecx], al
lea ecx, [ebp + 3]
cmp ebx, ecx
jle 0x4349de
mov ecx, dword [esp + 0x60]
shr ecx, 8
mov byte [edx + ebp + 3], cl
lea ecx, [ebp + 4]
cmp ebx, ecx
jle 0x4349ee
movzx eax, byte [esp + 0x60]
mov byte [edx + ebp + 4], al
add ebp, 5
jmp 0x43392b
cmp ebx, ebp
mov edi, ebx
setl al
not edi
mov esi, eax
mov eax, edi
shr eax, 0x1f
mov edi, esi
and edi, eax
jmp 0x433341
mov ecx, esi
xor edi, edi
test cl, cl
jne 0x43332a
jmp 0x43335e
mov esi, edi
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x54], edi
jge 0x433cc8
mov ecx, dword [esp + 0x30]
mov ebx, dword [esi + 0x6c]
mov edx, dword [esi + 0x70]
sub ecx, ebp
lea eax, [ecx + 0x77]
cmp eax, 0xee
ja 0x434b78
cmp ebx, ebp
jle 0x434a52
mov byte [edx + ebp], 0xeb
lea eax, [ebp + 1]
cmp ebx, eax
jle 0x434a60
sub ecx, 2
mov byte [edx + ebp + 1], cl
add ebp, 2
jmp 0x433cc8
lea eax, [edx - 1]
add edx, 0x7f
cmp edx, 0xff
mov dword [esp + 0x24], eax
ja 0x434d9e
movzx eax, byte [esp + 0x24]
mov edi, dword [esp + 0x20]
mov byte [ebp + edi], al
mov eax, dword [esp + 0x44]
mov ebp, dword [eax + 0x70]
jmp 0x433d11
mov ebx, dword [esp + 0x30]
jmp 0x433d92
mov ebx, dword [esp + 0x28]
movzx ebx, byte [ebx + ecx + 2]
shl ebx, 8
add ebx, esi
jmp 0x433d79
add eax, 1
movzx edx, byte [ebp + eax]
jmp 0x433dae
cmp ebx, ebp
jle 0x434b86
mov byte [edx + ebp], 0xe9
mov ebx, dword [esi + 0x6c]
mov edx, dword [esi + 0x70]
lea eax, [ebp + 1]
sub ecx, 5
cmp ebx, eax
jle 0x434b94
mov byte [edx + ebp + 1], cl
lea eax, [ebp + 2]
cmp ebx, eax
jle 0x434ba4
mov eax, ecx
shr eax, 8
mov byte [edx + ebp + 2], al
lea eax, [ebp + 3]
cmp ebx, eax
jle 0x434bb4
mov eax, ecx
shr eax, 0x10
mov byte [edx + ebp + 3], al
lea eax, [ebp + 4]
cmp ebx, eax
jle 0x434bc2
shr ecx, 0x18
mov byte [edx + ebp + 4], cl
add ebp, 5
jmp 0x433cc8
mov dword [esp], 0x4fb57c
mov dword [esp + 0x70], 1
call fcn.00402a80
mov eax, dword [esp + 0x44]
mov ebp, dword [eax + 0x70]
jmp 0x434a7e
add eax, 2
movzx edx, byte [ebp + eax]
jmp 0x433da5
mov eax, dword [eax + 0x6c]
jmp 0x43348e
mov eax, dword [eax + 0x6c]
jmp 0x43313d
mov eax, dword [eax + 0x6c]
jmp 0x433023
mov eax, dword [eax + 0x6c]
jmp 0x432e09
mov ebx, dword [esp + 0x38]
cmp ebx, ecx
je 0x4355ef
mov ebx, dword [ebp + ebx*4]
test ebx, ebx
jne 0x4333f0
lea ecx, [eax - 0xc9]
sub eax, 0xd0
cmovs eax, ecx
sar eax, 3
shl eax, 2
mov ebx, eax
mov dword [esp + 0x20], eax
add eax, 1
test ebx, ebx
mov dword [edx], eax
je 0x435703
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], 1
add eax, 2
mov dword [esp + 0x34], eax
lea esi, [esi]
cmp edi, eax
jle 0x435720
mov edx, eax
shr edx, 0x1f
test dl, dl
jne 0x435720
xor ebx, ebx
mov dword [esp + 0x1c], ebx
jmp 0x4356e9
lea ebp, [edx + 0x28]
movzx ecx, dl
mov ebx, ebp
cmp bl, 0x26
jbe 0x435720
lea ebp, [ecx - 0x78]
cmp ebp, 7
jbe 0x435720
test ecx, ecx
je 0x435720
cmp ecx, 0x3a
je 0x435720
cmp ecx, 0x3f
jg 0x435760
mov ebp, edx
and ebp, 7
sub ebp, 5
cmp ebp, 1
jbe 0x435720
cmp ecx, 0x3f
je 0x435750
cmp ecx, 0x38
je 0x435780
and edx, 7
cmp dl, 7
sete dl
movzx edx, dl
lea eax, [eax + edx + 1]
add dword [esp + 0x1c], 1
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
test edx, edx
sete dl
cmp edi, ebx
jle 0x4357ca
test dl, dl
jne 0x4357ca
mov edx, eax
shr edx, 0x1f
test dl, dl
jne 0x435720
cmp eax, edi
jge 0x435720
movzx edx, byte [esi + eax]
mov ecx, edx
and ecx, 0xfffffff7
cmp cl, 0x27
jne 0x435650
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
add dword [eax + ebx*4 - 4], ecx
jmp 0x4333f0
cmp dword [esp + 0x24], 1
setg al
test al, al
jne 0x435703
cmp dword [esp + 0x24], 1
mov eax, dword [esp + 0x34]
je 0x435790
mov ecx, dword [esp + 0x20]
add dword [esp + 0x24], 1
test ecx, ecx
jne 0x435630
jmp 0x435703
movsx edx, byte [esi + eax + 1]
lea eax, [eax + edx + 2]
jmp 0x4356ba
cmp ecx, 0xff
jne 0x4356aa
movzx edx, byte [esi + eax + 2]
movzx eax, byte [esi + eax + 1]
shl edx, 8
add eax, edx
jmp 0x4356ba
xor eax, eax
jmp 0x4356ba
mov eax, dword [esp + 0x40]
movsx eax, byte [esi + eax + 1]
add eax, dword [esp + 0x34]
jmp 0x435737
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], 0x8e
cmp dword [eax + 0x6c], 0x8d
jle 0x433e89
mov ebp, dword [eax + 0x70]
jmp 0x433e5b
cmp dword [esp + 0x24], 1
setg al
or eax, edx
jmp 0x435728
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x70]
mov dword [esp + 0x2c], eax
jmp 0x4330db