Function at 0x42cbd8
Capabilities:
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x29
push 0
push 0
dec ecx
jne 0x42cbe1
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x42e5ff
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0040c004
mov byte [0x442c64], al
cmp byte [0x442c64], 0
je 0x42cc30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov edx, 0x42e618
call fcn.0040b6e8
jmp 0x42cc40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov edx, 0x42e63c
call fcn.0040b6e8
mov eax, 0x442c60
call fcn.00403b0c
cmp byte [0x442b6c], 0
jne 0x42ccf0
push 1
mov ecx, 0x42e650
xor edx, edx
xor eax, eax
call fcn.0042b950
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
xor edx, edx
call fcn.0040b33c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
xor edx, edx
call fcn.0040b33c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0040b33c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
xor edx, edx
call fcn.0040b33c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
xor edx, edx
call fcn.0040b33c
cmp byte [0x442c5c], 0
je 0x42ccd7
cmp dword [0x442bc4], 0
je 0x42ccd7
lea eax, [ebp - 0x68]
mov ecx, dword [0x442bc4]
mov edx, 0x42e698
call fcn.00403df4
mov eax, dword [ebp - 0x68]
xor edx, edx
call fcn.0042ca58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [0x442c64], 1
jmp 0x42e3a5
xor eax, eax
mov al, byte [0x442b6c]
dec eax
test eax, eax
jb 0x42e3a5
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x30], 0x442b70
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov esi, eax
mov eax, dword [esi + 0x6f4]
push eax
push 1
mov ecx, 0x42e6a4
xor edx, edx
xor eax, eax
call fcn.0042ba4c
mov eax, dword [esi + 0x4c]
push eax
push 0
mov ecx, 0x42e6bc
xor edx, edx
xor eax, eax
call fcn.0042ba4c
mov eax, dword [esi + 0x40]
push eax
push 0
mov ecx, 0x42e6cc
xor edx, edx
xor eax, eax
call fcn.0042ba4c
cmp byte [0x442c64], 0
je 0x42cd9b
mov eax, dword [esi + 0x44]
push eax
push 0
mov ecx, 0x42e6e4
xor edx, edx
mov eax, 0x42e6fc
call fcn.0042ba4c
cmp byte [0x442c5c], 0
je 0x42cd87
cmp byte [esi + 0x48], 0
jne 0x42cd9b
mov al, byte [esi + 0x48]
push eax
push 0
mov ecx, 0x42e72c
xor edx, edx
xor eax, eax
call fcn.0042bcd0
push dword [esi + 0x5c]
push dword [esi + 0x58]
lea edx, [ebp - 0x6c]
mov al, 1
call fcn.0040df38
mov eax, dword [ebp - 0x6c]
push eax
push 0
mov ecx, 0x42e750
xor edx, edx
mov eax, 0x42e760
call fcn.0042ba4c
mov bl, byte [esi + 0x711]
test bl, bl
je 0x42cded
lea edx, [ebp - 0x70]
mov eax, ebx
call fcn.0042ab8c
mov eax, dword [ebp - 0x70]
push eax
push 0
mov ecx, 0x42e8cc
xor edx, edx
mov eax, 0x42e8e0
call fcn.0042ba4c
push 0
mov ecx, 0x42e914
xor edx, edx
xor eax, eax
call fcn.0042b950
mov al, byte [esi + 0x710]
sub al, 1
jb 0x42ce0f
je 0x42ce24
sub al, 0xd
je 0x42ce39
jmp 0x42ce4c
push 1
mov ecx, 0x42e92c
xor edx, edx
mov eax, 0x42e93c
call fcn.0042b950
jmp 0x42ce4c
push 1
mov ecx, 0x42e968
xor edx, edx
mov eax, 0x42e978
call fcn.0042b950
jmp 0x42ce4c
push 1
mov ecx, 0x42e9a4
xor edx, edx
mov eax, 0x42e9b4
call fcn.0042b950
cmp byte [0x442c64], 0
je 0x42cf26
cmp byte [esi + 0x710], 1
jne 0x42ce87
cmp byte [esi + 0x61], 0
je 0x42ce87
lea edx, [ebp - 0x74]
mov al, byte [esi + 0x61]
call fcn.0042ae38
mov eax, dword [ebp - 0x74]
push eax
push 0
mov ecx, 0x42e9e8
xor edx, edx
xor eax, eax
call fcn.0042ba4c
push 0
mov ecx, 0x42e9fc
xor edx, edx
mov eax, 0x42ea10
call fcn.0042b950
push 1
lea edx, [ebp - 0x7c]
mov al, byte [esi + 0x60]
call fcn.0042af94
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
mov edx, 0x42ea44
call fcn.00403df4
mov ecx, dword [ebp - 0x78]
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [esi + 0x706], 0
je 0x42cef6
push 0
mov ecx, 0x42ea50
xor edx, edx
mov eax, 0x42ea5c
call fcn.0042b950
mov eax, dword [esi + 0x6f8]
push eax
push 1
mov ecx, 0x42eb10
xor edx, edx
xor eax, eax
call fcn.0042ba4c
cmp byte [0x442c5c], 0
je 0x42cf08
cmp dword [esi + 0x50], 0x200
je 0x42cf26
cmp dword [esi + 0x50], 0x200
setne al
push eax
push 0
mov ecx, 0x42eb24
xor edx, edx
mov eax, 0x42eb40
call fcn.0042bcd0
cmp byte [0x442c64], 0
je 0x42cf4c
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
push 0
mov ecx, 0x42eb78
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [0x442c64], 0
je 0x42d0ed
cmp byte [esi + 0x710], 0
jne 0x42d02f
lea edx, [ebp - 0x84]
mov al, byte [esi + 0x6a]
call fcn.0042acdc
push dword [ebp - 0x84]
push 0x42eb94
push 0x42eba0
push 0x42ebb0
lea edx, [ebp - 0x88]
xor eax, eax
mov al, byte [esi + 0x6a]
call fcn.0040623c
push dword [ebp - 0x88]
push 0x42ebc8
lea eax, [ebp - 0x80]
mov edx, 6
call fcn.00403e68
mov eax, dword [ebp - 0x80]
push eax
push 0
mov ecx, 0x42ebd4
mov dl, 1
xor eax, eax
call fcn.0042ba4c
lea edx, [ebp - 0x90]
mov al, byte [esi + 0x69]
call fcn.0042acdc
push dword [ebp - 0x90]
push 0x42eb94
push 0x42eba0
push 0x42ebb0
lea edx, [ebp - 0x94]
xor eax, eax
mov al, byte [esi + 0x69]
call fcn.0040623c
push dword [ebp - 0x94]
push 0x42ebc8
lea eax, [ebp - 0x8c]
mov edx, 6
call fcn.00403e68
mov eax, dword [ebp - 0x8c]
push eax
push 0
mov ecx, 0x42ec00
mov dl, 1
xor eax, eax
call fcn.0042ba4c
jmp 0x42d0c5
cmp byte [esi + 0x62], 0
je 0x42d07a
lea edx, [ebp - 0x9c]
mov al, byte [esi + 0x62]
call fcn.0042add8
push dword [ebp - 0x9c]
push 0x42eb94
push 0x42eba0
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00403e68
mov eax, dword [ebp - 0x98]
push eax
push 0
mov ecx, 0x42ebd4
mov dl, 1
xor eax, eax
call fcn.0042ba4c
cmp byte [esi + 0x63], 0
je 0x42d0c5
lea edx, [ebp - 0xa4]
mov al, byte [esi + 0x63]
call fcn.0042add8
push dword [ebp - 0xa4]
push 0x42eb94
push 0x42eba0
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.00403e68
mov eax, dword [ebp - 0xa0]
push eax
push 0
mov ecx, 0x42ec00
mov dl, 1
xor eax, eax
call fcn.0042ba4c
movzx eax, word [esi + 0x6b4]
push eax
push 0
mov ecx, 0x42ec24
mov dl, 1
xor eax, eax
call fcn.0042bb94
push 1
mov ecx, 0x42ec50
xor edx, edx
xor eax, eax
call fcn.0042b950
movzx eax, word [esi + 0x6b2]
push eax
push 0
mov ecx, 0x42ec60
mov dl, 1
xor eax, eax
call fcn.0042bb94
push 1
mov ecx, 0x42ec50
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [0x442c64], 0
je 0x42d275
movzx eax, word [esi + 0x6b8]
push eax
push 0
mov ecx, 0x42ec80
mov dl, 1
xor eax, eax
call fcn.0042bb94
push 1
mov ecx, 0x42ec50
xor edx, edx
xor eax, eax
call fcn.0042b950
mov di, word [esi + 0x6b2]
mov bx, word [esi + 0x6b8]
cmp di, bx
jae 0x42d1a9
movzx eax, bx
mov dword [ebp - 0xb0], eax
fild dword [ebp - 0xb0]
movzx eax, di
mov dword [ebp - 0xb4], eax
fild dword [ebp - 0xb4]
fdivp st(1)
fsub dword [0x42ec9c]
fmul dword [0x42eca0]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0xac]
call fcn.004061b8
mov al, byte [ebp - 0xac]
mov byte [esi + 0x6ba], al
jmp 0x42d1f3
movzx eax, di
mov dword [ebp - 0xb0], eax
fild dword [ebp - 0xb0]
movzx eax, bx
mov dword [ebp - 0xb4], eax
fild dword [ebp - 0xb4]
fdivp st(1)
fsub dword [0x42ec9c]
fmul dword [0x42eca0]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0xac]
call fcn.004061b8
mov al, byte [ebp - 0xac]
mov byte [esi + 0x6ba], al
xor eax, eax
mov al, byte [esi + 0x6ba]
push eax
push 0
mov ecx, 0x42ecac
mov dl, 1
xor eax, eax
call fcn.0042bb94
push 1
mov ecx, 0x42eccc
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [0x442c5c], 0
je 0x42d275
movzx eax, word [esi + 0x6b6]
push eax
push 0
mov ecx, 0x42ecd8
mov dl, 1
xor eax, eax
call fcn.0042bb94
push 1
mov ecx, 0x42ec50
xor edx, edx
xor eax, eax
call fcn.0042b950
movzx eax, word [esi + 0x6bc]
push eax
push 0
mov ecx, 0x42ed00
mov dl, 1
xor eax, eax
call fcn.0042bb94
push 1
mov ecx, 0x42ec50
xor edx, edx
xor eax, eax
call fcn.0042b950
xor eax, eax
mov al, byte [esi + 0x6b0]
push eax
push 0
mov ecx, 0x42ed24
mov dl, 1
mov eax, 0x42ed44
call fcn.0042bb94
mov bl, byte [esi + 0x6b1]
test bl, bl
je 0x42d2d1
push 1
lea edx, [ebp - 0xbc]
xor eax, eax
mov al, bl
call fcn.0040623c
mov ecx, dword [ebp - 0xbc]
lea eax, [ebp - 0xb8]
mov edx, 0x42ed78
call fcn.00403df4
mov ecx, dword [ebp - 0xb8]
xor edx, edx
xor eax, eax
call fcn.0042b950
push 1
mov ecx, 0x42ed84
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [0x442c64], 0
je 0x42d690
cmp byte [esi + 0x706], 0
jne 0x42d32c
cmp word [esi + 0x70a], 0
je 0x42d32c
movzx eax, word [esi + 0x70a]
push eax
push 0
mov ecx, 0x42ed90
mov dl, 1
mov eax, 0x42edac
call fcn.0042bb94
push 1
mov ecx, 0x42ede0
xor edx, edx
xor eax, eax
call fcn.0042b950
mov ebx, dword [esi + 0x64]
test ebx, ebx
je 0x42d360
mov eax, ebx
xor edx, edx
push edx
push eax
lea edx, [ebp - 0xc0]
mov al, 1
call fcn.0040df38
mov eax, dword [ebp - 0xc0]
push eax
push 0
mov ecx, 0x42edf0
mov dl, 1
mov eax, 0x42ee04
call fcn.0042ba4c
cmp byte [0x442c5c], 0
je 0x42d36f
cmp byte [esi + 0x73], 0
jne 0x42d38c
mov al, byte [esi + 0x72]
push eax
mov al, byte [esi + 0x73]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42ee30
mov dl, 1
mov eax, 0x42ee5c
call fcn.0042be38
cmp byte [0x442c5c], 0
je 0x42d39b
cmp byte [esi + 0x75], 0
jne 0x42d3b8
mov al, byte [esi + 0x74]
push eax
mov al, byte [esi + 0x75]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42ee8c
mov dl, 1
mov eax, 0x42eea8
call fcn.0042be38
cmp byte [esi + 0x706], 0
jne 0x42d40d
cmp byte [0x442c5c], 0
je 0x42d3d0
cmp byte [esi + 0x7a], 0
je 0x42d40d
mov al, byte [esi + 0x7a]
push eax
mov al, byte [esi + 0x7b]
push eax
xor eax, eax
mov al, byte [esi + 0x7c]
push eax
push 0
mov ecx, 0x42eedc
mov dl, 1
mov eax, 0x42ef04
call fcn.0042be38
cmp byte [esi + 0x7a], 0
je 0x42d40d
xor eax, eax
mov al, byte [esi + 0x7d]
push eax
push 0
mov ecx, 0x42ef30
mov dl, 1
xor eax, eax
call fcn.0042bb94
cmp byte [0x442c5c], 0
je 0x42d41c
cmp byte [esi + 0x77], 0
je 0x42d43d
mov al, byte [esi + 0x77]
push eax
mov al, byte [esi + 0x78]
push eax
xor eax, eax
mov al, byte [esi + 0x79]
push eax
push 0
mov ecx, 0x42ef70
mov dl, 1
mov eax, 0x42ef98
call fcn.0042be38
cmp byte [esi + 0x706], 0
je 0x42d47b
cmp byte [0x442c5c], 0
je 0x42d458
cmp byte [esi + 0x8c], 0
je 0x42d47b
mov al, byte [esi + 0x8b]
push eax
mov al, byte [esi + 0x8c]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42efc4
mov dl, 1
mov eax, 0x42efe4
call fcn.0042be38
cmp byte [esi + 0x710], 0
jne 0x42d4b0
cmp byte [0x442c5c], 0
je 0x42d496
cmp byte [esi + 0x88], 0
je 0x42d4b0
mov al, byte [esi + 0x88]
push eax
push 0
mov ecx, 0x42f018
mov dl, 1
mov eax, 0x42f034
call fcn.0042bcd0
cmp byte [esi + 0x8a], 0
jne 0x42d4e5
cmp byte [0x442c5c], 0
je 0x42d4cb
cmp byte [esi + 0x89], 0
je 0x42d4e5
mov al, byte [esi + 0x89]
push eax
push 0
mov ecx, 0x42f064
mov dl, 1
mov eax, 0x42f090
call fcn.0042bcd0
cmp byte [esi + 0x710], 0
je 0x42d51a
cmp byte [0x442c5c], 0
je 0x42d500
cmp byte [esi + 0x8a], 0
jne 0x42d51a
mov al, byte [esi + 0x8a]
push eax
push 0
mov ecx, 0x42f0bc
mov dl, 1
mov eax, 0x42f0e8
call fcn.0042bcd0
cmp byte [esi + 0x706], 0
je 0x42d561
cmp byte [0x442c5c], 0
je 0x42d53e
cmp byte [esi + 0x70c], 0
je 0x42d53e
cmp byte [esi + 0x70d], 0
jne 0x42d561
mov al, byte [esi + 0x70c]
push eax
mov al, byte [esi + 0x70d]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42f114
mov dl, 1
mov eax, 0x42f124
call fcn.0042be38
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
push 0
mov ecx, 0x42f1d4
xor edx, edx
xor eax, eax
call fcn.0042b950
xor eax, eax
mov al, byte [esi + 0x2aa]
push eax
push 0
mov ecx, 0x42f1e8
mov dl, 1
mov eax, 0x42f204
call fcn.0042bb94
mov al, byte [esi + 0x6ab]
test al, al
je 0x42d67f
cmp byte [esi + 0x6ac], 0
je 0x42d5f4
push 0
mov ecx, 0x42f23c
mov dl, 1
xor eax, eax
call fcn.0042b950
mov al, byte [esi + 0x6ac]
push eax
push 1
mov ecx, 0x42f250
xor edx, edx
mov eax, 0x42f268
call fcn.0042bcd0
xor eax, eax
mov al, byte [esi + 0x6ac]
push eax
push 1
mov ecx, 0x42f298
xor edx, edx
xor eax, eax
call fcn.0042bb94
cmp byte [esi + 0x6af], 0
je 0x42d690
mov al, byte [esi + 0x6af]
push eax
push 0
mov ecx, 0x42f2bc
mov dl, 1
xor eax, eax
call fcn.0042bcd0
push 1
mov ecx, 0x42f298
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [esi + 0x6af], 0xff
jne 0x42d643
push 1
mov ecx, 0x42f2dc
xor edx, edx
xor eax, eax
call fcn.0042b950
jmp 0x42d690
push 1
lea edx, [ebp - 0xc8]
xor eax, eax
mov al, byte [esi + 0x6af]
call fcn.0040623c
mov ecx, dword [ebp - 0xc8]
mov edx, 0x42ea44
lea eax, [ebp - 0xc4]
call fcn.00403df4
mov ecx, dword [ebp - 0xc4]
xor edx, edx
xor eax, eax
call fcn.0042b950
jmp 0x42d690
push eax
push 0
mov ecx, 0x42f2ec
mov dl, 1
xor eax, eax
call fcn.0042bcd0
mov bl, byte [esi + 0x92]
test bl, bl
je 0x42d6c6
cmp bl, byte [esi + 0x91]
je 0x42d6c6
lea edx, [ebp - 0xcc]
mov eax, ebx
call fcn.0042ca24
mov eax, dword [ebp - 0xcc]
push eax
push 0
mov ecx, 0x42f304
mov dl, 1
xor eax, eax
call fcn.0042ba4c
mov bl, byte [esi + 0x91]
test bl, bl
je 0x42d6f4
lea edx, [ebp - 0xd0]
mov eax, ebx
call fcn.0042ca24
mov eax, dword [ebp - 0xd0]
push eax
push 0
mov ecx, 0x42f334
mov dl, 1
xor eax, eax
call fcn.0042ba4c
mov bl, byte [esi + 0x8f]
test bl, bl
je 0x42d722
lea edx, [ebp - 0xd4]
mov eax, ebx
call fcn.0042ca24
mov eax, dword [ebp - 0xd4]
push eax
push 0
mov ecx, 0x42f364
mov dl, 1
xor eax, eax
call fcn.0042ba4c
mov bl, byte [esi + 0x8e]
test bl, bl
je 0x42d753
lea edx, [ebp - 0xd8]
mov eax, ebx
call fcn.0042ca24
mov eax, dword [ebp - 0xd8]
push eax
push 0
mov ecx, 0x42f388
mov dl, 1
mov eax, 0x42f3a4
call fcn.0042ba4c
cmp byte [esi + 0x6d5], 0
je 0x42d7b6
cmp byte [0x442c5c], 0
je 0x42d78a
cmp dword [esi + 0x6d8], 0
je 0x42d7b6
mov eax, dword [esi + 0x6d8]
push eax
push 0
mov ecx, 0x42f3d8
mov dl, 1
mov eax, 0x42f3f8
call fcn.0042bb94
jmp 0x42d7b6
cmp byte [0x442c64], 0
jne 0x42d79c
cmp dword [esi + 0x6d8], 0
je 0x42d7b6
mov eax, dword [esi + 0x6d8]
push eax
push 0
mov ecx, 0x42f3d8
mov dl, 1
mov eax, 0x42f3f8
call fcn.0042bb94
cmp byte [esi + 0x6c8], 0
je 0x42d7d6
mov eax, dword [esi + 0x6cc]
push eax
push 0
mov ecx, 0x42f428
mov dl, 1
xor eax, eax
call fcn.0042bb94
cmp byte [esi + 0x6be], 0
je 0x42d81c
cmp dword [esi + 0x6c0], 0
je 0x42d804
mov eax, dword [esi + 0x6c4]
push eax
push 0
mov ecx, 0x42f448
mov dl, 1
mov eax, 0x42f464
call fcn.0042bb94
jmp 0x42d81c
push 0x42f494
push 0
mov ecx, 0x42f448
mov dl, 1
mov eax, 0x42f464
call fcn.0042ba4c
cmp byte [0x442c64], 0
je 0x42d899
cmp byte [esi + 0x706], 0
jne 0x42d899
cmp byte [0x442c5c], 0
je 0x42d83d
cmp byte [esi + 0x7e], 0
je 0x42d899
mov al, byte [esi + 0x7e]
push eax
mov al, byte [esi + 0x7f]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42f4a0
mov dl, 1
mov eax, 0x42f4c4
call fcn.0042be38
cmp byte [esi + 0x7f], 0
je 0x42d899
cmp byte [esi + 0x80], 0
je 0x42d884
xor eax, eax
mov al, byte [esi + 0x80]
push eax
push 0
mov ecx, 0x42f534
mov dl, 1
xor eax, eax
call fcn.0042bb94
jmp 0x42d899
push 0x42f568
push 0
mov ecx, 0x42f534
mov dl, 1
xor eax, eax
call fcn.0042ba4c
cmp byte [0x442c64], 0
je 0x42d8ce
cmp byte [0x442c5c], 0
je 0x42d8b4
cmp byte [esi + 0x81], 0
jne 0x42d8ce
mov al, byte [esi + 0x81]
push eax
push 0
mov ecx, 0x42f58c
mov dl, 1
mov eax, 0x42f5a4
call fcn.0042bcd0
cmp byte [esi + 0xa4], 0
je 0x42d8fe
push 0x42f5d0
push 0
mov ecx, 0x42f5e8
mov dl, 1
xor eax, eax
call fcn.0042ba4c
push 0
mov ecx, 0x42f5fc
mov dl, 1
xor eax, eax
call fcn.0042b950
jmp 0x42d96e
push 0x42f630
push 0
mov ecx, 0x42f5e8
mov dl, 1
xor eax, eax
call fcn.0042ba4c
cmp byte [esi + 0xa7], 0
je 0x42d93c
push 1
mov ecx, 0x42f644
xor edx, edx
xor eax, eax
call fcn.0042b950
push 0
mov ecx, 0x42f65c
mov dl, 1
xor eax, eax
call fcn.0042b950
cmp byte [esi + 0xa5], 0
je 0x42d955
push 1
mov ecx, 0x42f698
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [esi + 0xa8], 0
je 0x42d96e
push 1
mov ecx, 0x42f6b8
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [0x442c64], 0
je 0x42e1e9
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
push 0
mov ecx, 0x42f6d4
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [0x442c5c], 0
je 0x42d9a7
cmp byte [esi + 0x6c], 0
je 0x42d9f9
mov al, byte [esi + 0x6b]
push eax
mov al, byte [esi + 0x6c]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42f6ec
mov dl, 1
xor eax, eax
call fcn.0042be38
cmp byte [esi + 0x6c], 0
je 0x42d9f9
cmp byte [esi + 0x6d], 0
je 0x42d9e4
push 0x42f718
push 0
mov ecx, 0x42f72c
mov dl, 1
xor eax, eax
call fcn.0042ba4c
jmp 0x42d9f9
push 0x42f748
push 0
mov ecx, 0x42f72c
mov dl, 1
xor eax, eax
call fcn.0042ba4c
cmp byte [0x442c5c], 0
je 0x42da08
cmp byte [esi + 0x6e], 0
jne 0x42da1f
mov al, byte [esi + 0x6e]
push eax
push 0
mov ecx, 0x42f75c
mov dl, 1
mov eax, 0x42f784
call fcn.0042bcd0
cmp byte [0x442c5c], 0
je 0x42da2e
cmp byte [esi + 0x70], 0
je 0x42da45
mov al, byte [esi + 0x70]
push eax
push 0
mov ecx, 0x42f7c4
mov dl, 1
mov eax, 0x42f7ec
call fcn.0042bcd0
cmp byte [esi + 0x6b], 0
je 0x42da8e
cmp dword [esi + 0x6dc], 0
je 0x42da8e
cmp dword [esi + 0x6dc], 0x1fe
je 0x42da79
mov eax, dword [esi + 0x6dc]
push eax
push 0
mov ecx, 0x42f834
mov dl, 1
xor eax, eax
call fcn.0042bb94
jmp 0x42da8e
push 0x42f860
push 0
mov ecx, 0x42f834
mov dl, 1
xor eax, eax
call fcn.0042ba4c
cmp byte [0x442c5c], 0
jne 0x42dab1
mov al, byte [esi + 0x85]
push eax
push 0
mov ecx, 0x42f870
mov dl, 1
mov eax, 0x42f890
call fcn.0042bcd0
cmp byte [esi + 0x86], 0
je 0x42daec
cmp byte [0x442c5c], 0
je 0x42dacc
cmp byte [esi + 0x87], 0
je 0x42daec
mov al, byte [esi + 0x86]
push eax
mov al, byte [esi + 0x87]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x42f8bc
mov dl, 1
xor eax, eax
call fcn.0042be38
cmp byte [0x442c5c], 0
je 0x42dafb
cmp byte [esi + 0x71], 0
je 0x42db12
mov al, byte [esi + 0x71]
push eax
push 0
mov ecx, 0x42f8e4
mov dl, 1
mov eax, 0x42f900
call fcn.0042bcd0
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
push 0
mov ecx, 0x42f994
xor edx, edx
xor eax, eax
call fcn.0042b950
mov bl, 9
lea edi, [ebp - 0x64]
call fcn.00408a60
mov dword [edi], eax
add edi, 4
dec bl
jne 0x42db34
mov eax, dword [ebp - 0x64]
mov edx, 0x42f9a8
call fcn.0040c2d8
mov eax, dword [ebp - 0x60]
mov edx, 0x42f9b4
call fcn.0040c2d8
mov eax, dword [ebp - 0x5c]
mov edx, 0x42f9c4
call fcn.0040c2d8
mov eax, dword [ebp - 0x58]
mov edx, 0x42f9d4
call fcn.0040c2d8
mov eax, dword [ebp - 0x54]
mov edx, 0x42f9e4
call fcn.0040c2d8
mov eax, dword [ebp - 0x50]
mov edx, 0x42f9f4
call fcn.0040c2d8
mov eax, dword [ebp - 0x4c]
mov edx, 0x42fa04
call fcn.0040c2d8
mov eax, dword [ebp - 0x48]
mov edx, 0x42fa18
call fcn.0040c2d8
mov eax, dword [ebp - 0x44]
mov edx, 0x42fa2c
call fcn.0040c2d8
mov al, byte [esi + 0x2aa]
dec eax
test al, al
jb 0x42dedb
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea edx, [ebp - 0xdc]
xor eax, eax
mov al, bl
lea edi, [eax + eax*2]
xor eax, eax
mov al, byte [esi + edi*4 + 0x2ad]
call fcn.0040623c
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x64]
call fcn.0040c2d8
lea ecx, [ebp - 0xe0]
mov dl, byte [esi + edi*4 + 0x2ad]
mov eax, esi
call fcn.00421bbc
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x60]
call fcn.0040c2d8
test byte [esi + edi*4 + 0x2ae], 1
je 0x42dc30
lea eax, [ebp - 0x1c]
mov edx, 0x42fa3c
call fcn.00403ba4
jmp 0x42dc3d
lea eax, [ebp - 0x1c]
mov edx, 0x42fa48
call fcn.00403ba4
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 2
je 0x42dc5d
lea eax, [ebp - 0x1c]
mov edx, 0x42fa54
call fcn.00403db0
jmp 0x42dc6a
lea eax, [ebp - 0x1c]
mov edx, 0x42fa48
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 4
je 0x42dc8a
lea eax, [ebp - 0x1c]
mov edx, 0x42fa60
call fcn.00403db0
jmp 0x42dc97
lea eax, [ebp - 0x1c]
mov edx, 0x42fa48
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 8
je 0x42dcb7
lea eax, [ebp - 0x1c]
mov edx, 0x42fa6c
call fcn.00403db0
jmp 0x42dcc4
lea eax, [ebp - 0x1c]
mov edx, 0x42fa48
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 0x10
je 0x42dce4
lea eax, [ebp - 0x1c]
mov edx, 0x42fa78
call fcn.00403db0
jmp 0x42dcf1
lea eax, [ebp - 0x1c]
mov edx, 0x42fa48
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [esi + eax*4 + 0x2ae], 0x20
je 0x42dd11
lea eax, [ebp - 0x1c]
mov edx, 0x42fa84
call fcn.00403db0
jmp 0x42dd1e
lea eax, [ebp - 0x1c]
mov edx, 0x42fa48
call fcn.00403db0
lea eax, [ebp - 0xe4]
mov ecx, 0x42eb94
mov edx, dword [ebp - 0x1c]
call fcn.00403df4
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x5c]
call fcn.0040c2d8
lea edx, [ebp - 0xe8]
xor eax, eax
mov al, byte [esi + edi*4 + 0x2b0]
call fcn.0040623c
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x58]
call fcn.0040c2d8
lea edx, [ebp - 0xec]
xor eax, eax
mov al, byte [esi + edi*4 + 0x2b1]
call fcn.0040623c
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x54]
call fcn.0040c2d8
lea edx, [ebp - 0xf0]
xor eax, eax
mov al, byte [esi + edi*4 + 0x4ae]
call fcn.0040623c
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x50]
call fcn.0040c2d8
lea eax, [esi + edi*4 + 0x2b2]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
lea eax, [esi + edi*4 + 0x2b6]
movzx eax, word [eax]
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0xf4]
lea eax, [ebp - 0x24]
call fcn.004060ec
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x4c]
call fcn.0040c2d8
mov byte [ebp - 0x16], 0
mov byte [ebp - 0x15], 5
xor eax, eax
mov al, byte [ebp - 0x15]
xor edx, edx
mov dl, bl
lea edx, [edx + edx*2]
lea edx, [esi + edx*4]
cmp byte [edx + eax + 0x2b2], 0
je 0x42de03
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x16], al
jmp 0x42de0c
dec byte [ebp - 0x15]
cmp byte [ebp - 0x15], 0xff
jne 0x42dde2
lea eax, [ebp - 0x1c]
call fcn.00403b0c
mov al, byte [ebp - 0x16]
cmp al, 0
jb 0x42de5c
mov byte [ebp - 0x15], al
xor eax, eax
mov al, byte [ebp - 0x15]
xor edx, edx
mov dl, bl
lea edx, [edx + edx*2]
lea edx, [esi + edx*4]
movzx eax, byte [edx + eax + 0x2b2]
lea ecx, [ebp - 0xf8]
mov edx, 2
call fcn.0040cbd0
mov edx, dword [ebp - 0xf8]
lea eax, [ebp - 0x1c]
call fcn.00403db0
dec byte [ebp - 0x15]
cmp byte [ebp - 0x15], 0xff
jne 0x42de1e
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x1c]
call fcn.0040c2d8
mov edx, ebx
mov eax, esi
call fcn.00425364
cmp al, 1
je 0x42de81
mov edx, ebx
mov eax, esi
call fcn.00425364
cmp al, 2
jne 0x42de90
lea eax, [ebp - 0x1c]
mov edx, 0x42fa90
call fcn.00403ba4
jmp 0x42dec6
mov edx, ebx
mov eax, esi
call fcn.00425364
cmp al, 3
je 0x42deaa
mov edx, ebx
mov eax, esi
call fcn.00425364
cmp al, 4
jne 0x42deb9
lea eax, [ebp - 0x1c]
mov edx, 0x42fa9c
call fcn.00403ba4
jmp 0x42dec6
lea eax, [ebp - 0x1c]
mov edx, 0x42fa48
call fcn.00403ba4
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x1c]
call fcn.0040c2d8
inc ebx
dec byte [ebp - 0x29]
jne 0x42dbcc
mov byte [ebp - 0x15], 0xf8
lea edi, [ebp - 0x48]
mov byte [ebp - 0x16], 0
mov al, byte [esi + 0x2aa]
test al, al
jb 0x42df40
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea ecx, [ebp - 0xfc]
xor edx, edx
mov dl, bl
mov eax, dword [edi]
call fcn.0040c344
mov eax, dword [ebp - 0xfc]
call fcn.00403da8
xor edx, edx
mov dl, byte [ebp - 0x16]
cmp eax, edx
jle 0x42df3a
lea ecx, [ebp - 0x100]
xor edx, edx
mov dl, bl
mov eax, dword [edi]
call fcn.0040c344
mov eax, dword [ebp - 0x100]
call fcn.00403da8
mov byte [ebp - 0x16], al
inc ebx
dec byte [ebp - 0x29]
jne 0x42def6
mov al, byte [esi + 0x2aa]
test al, al
jb 0x42dfc1
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea ecx, [ebp - 0x108]
xor edx, edx
mov dl, bl
mov eax, dword [edi]
call fcn.0040c344
mov eax, dword [ebp - 0x108]
call fcn.00403da8
xor edx, edx
mov dl, byte [ebp - 0x16]
sub edx, eax
inc edx
lea ecx, [ebp - 0x104]
mov eax, 0x42eb94
call fcn.00406400
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x10c]
xor edx, edx
mov dl, bl
mov eax, dword [edi + 4]
call fcn.0040c344
mov edx, dword [ebp - 0x10c]
pop eax
call fcn.00403db0
mov ecx, dword [ebp - 0x104]
xor edx, edx
mov dl, bl
mov eax, dword [edi + 4]
call fcn.0040c39c
inc ebx
dec byte [ebp - 0x29]
jne 0x42df50
sub edi, 4
inc byte [ebp - 0x15]
jne 0x42dee2
mov al, byte [esi + 0x2aa]
test al, al
jb 0x42e102
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea ecx, [ebp - 0x110]
mov edi, ebx
and edi, 0xff
mov edx, edi
mov eax, dword [ebp - 0x64]
call fcn.0040c344
push dword [ebp - 0x110]
lea ecx, [ebp - 0x114]
mov edx, edi
mov eax, dword [ebp - 0x60]
call fcn.0040c344
push dword [ebp - 0x114]
lea ecx, [ebp - 0x118]
mov edx, edi
mov eax, dword [ebp - 0x5c]
call fcn.0040c344
push dword [ebp - 0x118]
lea ecx, [ebp - 0x11c]
mov edx, edi
mov eax, dword [ebp - 0x58]
call fcn.0040c344
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x120]
mov edx, edi
mov eax, dword [ebp - 0x54]
call fcn.0040c344
push dword [ebp - 0x120]
lea ecx, [ebp - 0x124]
mov edx, edi
mov eax, dword [ebp - 0x50]
call fcn.0040c344
push dword [ebp - 0x124]
lea ecx, [ebp - 0x128]
mov edx, edi
mov eax, dword [ebp - 0x4c]
call fcn.0040c344
push dword [ebp - 0x128]
lea ecx, [ebp - 0x12c]
mov edx, edi
mov eax, dword [ebp - 0x48]
call fcn.0040c344
push dword [ebp - 0x12c]
lea eax, [ebp - 0x1c]
mov edx, 8
call fcn.00403e68
cmp byte [esi + 0xa4], 0
jne 0x42e0ca
cmp byte [esi + 0xa5], 0
jne 0x42e0ca
cmp byte [esi + 0xa7], 0
jne 0x42e0ca
cmp byte [esi + 0xa8], 0
je 0x42e0ea
lea ecx, [ebp - 0x130]
xor edx, edx
mov dl, bl
mov eax, dword [ebp - 0x44]
call fcn.0040c344
mov edx, dword [ebp - 0x130]
lea eax, [ebp - 0x1c]
call fcn.00403db0
push 0
mov ecx, dword [ebp - 0x1c]
mov dl, 1
xor eax, eax
call fcn.0042b950
inc ebx
dec byte [ebp - 0x29]
jne 0x42dfe1
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
push 0
mov ecx, 0x42faac
mov dl, 1
xor eax, eax
call fcn.0042b950
push 0
mov ecx, 0x42fb00
mov dl, 1
xor eax, eax
call fcn.0042b950
mov bl, 9
lea edi, [ebp - 0x64]
mov eax, dword [edi]
call fcn.0040a220
add edi, 4
dec bl
jne 0x42e134
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
push 0
mov ecx, 0x42fb40
xor edx, edx
xor eax, eax
call fcn.0042b950
mov eax, dword [esi + 0x34]
push eax
push 0
mov ecx, 0x42fb50
mov dl, 1
mov eax, 0x42fb68
call fcn.0042ba4c
cmp byte [esi + 0x710], 0
jne 0x42e1e9
cmp byte [esi + 0x32], 0
je 0x42e1e9
cmp byte [esi + 0x31], 0
je 0x42e1a2
push 0x42fb94
push 0
mov ecx, 0x42fba8
mov dl, 1
xor eax, eax
call fcn.0042ba4c
jmp 0x42e1b7
push 0x42fbc4
push 0
mov ecx, 0x42fba8
mov dl, 1
xor eax, eax
call fcn.0042ba4c
cmp byte [esi + 0x30], 0
je 0x42e1d4
push 0x42fbd8
push 0
mov ecx, 0x42fbec
mov dl, 1
xor eax, eax
call fcn.0042ba4c
jmp 0x42e1e9
push 0x42fc04
push 0
mov ecx, 0x42fbec
mov dl, 1
xor eax, eax
call fcn.0042ba4c
cmp dword [esi + 0x6e8], 0
je 0x42e20c
mov eax, dword [esi + 0x6e8]
push eax
push 0
mov ecx, 0x42fc14
mov dl, 1
mov eax, 0x42fc30
call fcn.0042ba4c
cmp byte [esi + 0x707], 0
je 0x42e25b
push 0
mov ecx, 0x42fcc8
mov dl, 1
xor eax, eax
call fcn.0042b950
push 1
mov ecx, 0x42fce4
xor edx, edx
mov eax, 0x42fcf0
call fcn.0042b950
cmp byte [0x442c64], 0
je 0x42e25b
mov al, byte [esi + 0x708]
push eax
push 0
mov ecx, 0x42fd1c
mov dl, 1
mov eax, 0x42fd2c
call fcn.0042bcd0
lea edx, [ebp - 0x134]
lea eax, [esi + 0x94]
call fcn.0040e4ec
mov eax, dword [ebp - 0x134]
push eax
push 0
mov ecx, 0x42fd64
mov dl, 1
xor eax, eax
call fcn.0042ba4c
mov al, byte [0x442c64]
and al, byte [0x442c5c]
je 0x42e2bc
cmp dword [esi + 0x700], 0
je 0x42e2bc
mov edx, 0x42e698
lea eax, [ebp - 0x138]
mov ecx, dword [esi + 0x700]
call fcn.00403df4
mov eax, dword [ebp - 0x138]
xor edx, edx
call fcn.0042ca58
mov al, byte [0x442b6c]
dec eax
and eax, 0xff
cmp eax, dword [ebp - 0x10]
je 0x42e2f8
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
jmp 0x42e395
cmp byte [0x442c64], 0
je 0x42e395
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042b950
mov eax, dword [0x4429ec]
push eax
push 0
mov ecx, 0x42fd80
xor edx, edx
xor eax, eax
call fcn.0042ba4c
mov eax, dword [0x442914]
push eax
push 0
mov ecx, 0x42fd9c
xor edx, edx
xor eax, eax
call fcn.0042ba4c
cmp byte [0x442c5c], 0
je 0x42e360
cmp byte [0x442c34], 0
je 0x42e360
push 0
mov ecx, 0x42fdbc
xor edx, edx
xor eax, eax
call fcn.0042b950
cmp byte [0x442c5c], 0
je 0x42e395
cmp dword [0x442bc4], 0
je 0x42e395
mov edx, 0x42e698
lea eax, [ebp - 0x13c]
mov ecx, dword [0x442bc4]
call fcn.00403df4
mov eax, dword [ebp - 0x13c]
xor edx, edx
call fcn.0042ca58
inc dword [ebp - 0x10]
add dword [ebp - 0x30], 4
dec dword [ebp - 0x28]
jne 0x42cd12
cmp byte [0x442c5c], 0
je 0x42e3b3
call fcn.0042c314
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.00408c9c
push 0x42fde0
push dword [0x442c60]
push 0x42fe14
lea eax, [ebp - 0x140]
mov edx, 3
call fcn.00403e68
mov eax, dword [ebp - 0x140]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
xor ecx, ecx
xor edx, edx
call fcn.00409894
call fcn.00408a60
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
xor ecx, ecx
mov dl, 1
call fcn.00409754
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x14]
call fcn.00408b6c
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x1c]
dec eax
test eax, eax
jb 0x42e48c
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00408a84
mov edx, eax
lea eax, [ebp - 0x148]
call fcn.00403ce8
mov eax, dword [ebp - 0x148]
call fcn.00403da8
cmp ebx, eax
jge 0x42e484
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00408a84
mov edx, eax
lea eax, [ebp - 0x14c]
call fcn.00403ce8
mov eax, dword [ebp - 0x14c]
call fcn.00403da8
mov ebx, eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x42e438
cmp ebx, 0x26
jge 0x42e496
mov ebx, 0x26
lea eax, [ebp - 0x40]
call fcn.00409d70
push 2
call sub.user32.dll_GetSystemMetrics
mov edx, eax
mov eax, ebx
shl eax, 3
add eax, 0x10
add edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bee0
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x1c]
shl ebx, 4
add ebx, 0xd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, ebx
call fcn.0040bad0
lea edx, [ebx + 0x5f]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bec0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bac4
mov ebx, dword [ebp - 0x34]
cmp eax, ebx
jle 0x42e529
mov eax, ebx
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.0040bad0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.0040bac4
mov edx, eax
add edx, 0x5f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bec0
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_GetWindowLongA
test eax, 0x200000
jne 0x42e562
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040beac
push eax
push 2
call sub.user32.dll_GetSystemMetrics
pop edx
sub edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bee0
push ebp
call fcn.0042cb28
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040ba9c
mov edx, dword [ebp - 0x38]
sub edx, eax
sar edx, 1
jns 0x42e580
adc edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040ba48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bac4
mov edx, dword [ebp - 0x34]
sub edx, eax
sar edx, 1
jns 0x42e5a2
adc edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040ba78
mov eax, dword [ebp - 0x14]
call fcn.0040a220
cmp byte [0x442c5c], 0
jne 0x42e5c9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040b85c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42e606
lea eax, [ebp - 0x14c]
mov edx, 0x26
call fcn.00403b30
lea eax, [ebp - 0xa4]
mov edx, 0x10
call fcn.00403b30
lea eax, [ebp - 0x1c]
call fcn.00403b0c
ret