Function at 0x417f30
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Get ntdll base address
Get number of processors
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5974d0
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
mov eax, dword [0x600d40]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
push 0x5ca278
lea ecx, [esp + 0x10]
call fcn.00409a50
push 0x5ca288
lea ecx, [esp + 0x18]
mov dword [esp + 0x3c], 0
call fcn.00409a50
push 0x5cab24
mov byte [esp + 0x3c], 1
call fcn.0041f1e0
add esp, 4
lea esi, [esp + 0x18]
call fcn.0041cd70
push 0x5ca298
push eax
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x44], 2
call fcn.00409110
add esp, 0xc
mov bl, 4
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417fd8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0xe
push 0x5ca308
lea ecx, [esp + 0x14]
call fcn.00409910
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0xc]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 5
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 6
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xf
push 0x5ca2e8
lea ecx, [esp + 0x14]
call fcn.00409910
mov edx, dword [edi + 0x18]
mov eax, dword [esp + 0xc]
push edx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 7
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 8
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x12
push 0x5ca2c0
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x1c]
push eax
mov eax, dword [esp + 0x10]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 9
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xa
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xb
push 0x5ca328
lea ecx, [esp + 0x14]
call fcn.00409910
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0xc]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0xb
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xc
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 7
push 0x5ca340
lea ecx, [esp + 0x14]
call fcn.00409910
push ecx
mov dword [esp + 0x28], esp
mov eax, dword [edi + 0x30]
sub eax, 0x10
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0xd
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0xe
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xf
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x38], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 0xa
push 0x5ca35c
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x28]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x10
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x11
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x12
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 0x12
push 0x5ca374
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x2c]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x13
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x14
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x15
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 0xd
push 0x5ca39c
lea ecx, [esp + 0x14]
call fcn.00409910
mov edx, dword [edi + 0x20]
mov eax, dword [esp + 0xc]
push edx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x16
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x17
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xe
push 0x5ca3b8
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x24]
push eax
mov eax, dword [esp + 0x10]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x18
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x19
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xd
push 0x5ca410
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x34], 0
je 0x41849b
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x1a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x1b
jmp 0x4184d1
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x1c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x1d
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xc
push 0x5ca3d8
lea ecx, [esp + 0x14]
call fcn.00409910
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0xc]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x1e
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x1f
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xd
push 0x5ca3f4
lea ecx, [esp + 0x14]
call fcn.00409910
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0xc]
push edx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x20
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x21
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], esp
mov esi, esp
add eax, 0xfffffff0
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 8
push 0x5ca42c
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 4], 0
je 0x418639
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x22
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x23
jmp 0x41866f
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x24
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x25
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 9
push 0x5ca440
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x3c], 0
je 0x4186eb
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x26
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x27
jmp 0x418721
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x28
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x29
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 9
push 0x5ca454
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x44], 0
je 0x41879d
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x2a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x2b
jmp 0x4187d3
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x2c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x2d
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xf
push 0x5ca468
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x48], 0
je 0x41884f
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x2e
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x2f
jmp 0x418885
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x30
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x31
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xa
push str.CAndroidDevice::Write_error__errno__d
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x4c], 0
je 0x418901
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x32
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x33
jmp 0x418937
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x34
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x35
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xb
push 0x5ca4a0
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x90], 0
je 0x4189b6
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x36
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x37
jmp 0x4189ec
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x38
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x39
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xf
push 0x5ca4b8
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x94], 0
je 0x418a6b
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x3a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x3b
jmp 0x418aa1
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x3c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x3d
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xc
push str._s_get_contact_failed___errno_is__d_n
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x98], 0
je 0x418b20
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x3e
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x3f
jmp 0x418b56
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x40
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x41
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 7
push 0x5ca4f4
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x54], 0
je 0x418bd2
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x42
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x43
jmp 0x418c08
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x44
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x45
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x12
push 0x5ca504
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x58], 0
je 0x418c84
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x46
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x47
jmp 0x418cba
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x48
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x49
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xb
push 0x5ca52c
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x5c], 0
je 0x418d36
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x4a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x4b
jmp 0x418d6c
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x4c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x4d
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 7
push 0x5ca544
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x60], 0
je 0x418de8
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x4e
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x4f
jmp 0x418e1e
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x50
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x51
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xa
push 0x5ca554
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x68], 0
je 0x418e9a
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x52
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x53
jmp 0x418ed0
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x54
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x55
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xe
push 0x5ca56c
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x6c], 0
je 0x418f4c
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x56
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x57
jmp 0x418f82
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x58
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x59
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xd
push 0x5ca58c
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x70], 0
je 0x418ffe
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x5a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x5b
jmp 0x419034
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x5c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x5d
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x12
push 0x5ca5a8
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0x64], 0
je 0x4190b0
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x5e
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x5f
jmp 0x4190e6
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x60
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x61
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x11
push 0x5ca5d0
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x50]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x62
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x63
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x64
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 6
push 0x5ca5f4
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x74]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x65
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x66
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x67
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 0xf
push 0x5ca604
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x78]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x68
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x69
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x6a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
mov eax, dword [edi + 0x78]
add esp, 0x10
cmp dword [eax - 0xc], 0
jne 0x4192cf
push 0x5cab50
call fcn.0041f1e0
add esp, 4
jmp 0x4192dd
push eax
push str.vector_T__too_long
call fcn.0041f1e0
add esp, 8
push 0xc
push 0x5ca68c
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x7c]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x6b
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x6c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x6d
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
mov edx, dword [edi + 0x7c]
add esp, 0x10
cmp dword [edx - 0xc], 0
jne 0x419383
push 0x5cabac
call fcn.0041f1e0
add esp, 4
jmp 0x419391
push edx
push 0x5cabd8
call fcn.0041f1e0
add esp, 8
push 0x11
push 0x5ca700
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x80]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x6e
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x6f
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x70
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 0x10
push 0x5ca724
lea ecx, [esp + 0x14]
call fcn.00409910
mov ecx, dword [edi + 0x84]
mov eax, dword [esp + 0xc]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x71
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x72
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add esp, 4
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x13
push 0x5ca748
lea ecx, [esp + 0x14]
call fcn.00409910
mov edx, dword [edi + 0x88]
mov eax, dword [esp + 0xc]
push edx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x73
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x74
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x14
push 0x5ca770
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0x8c]
push eax
mov eax, dword [esp + 0x10]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x75
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x76
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add esp, 4
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xe
push 0x5ca79c
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0xa0]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x77
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x78
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x79
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 0x10
push 0x5ca7bc
lea ecx, [esp + 0x14]
call fcn.00409910
mov ecx, dword [edi + 0x9c]
mov eax, dword [esp + 0xc]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x7a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x7b
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0xd
push 0x5ca808
lea ecx, [esp + 0x14]
call fcn.00409910
mov edx, dword [edi + 0xa8]
mov eax, dword [esp + 0xc]
push edx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x7c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x7d
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x13
push 0x5ca824
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0xac]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x7e
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x7f
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x80
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
mov eax, dword [edi + 0xac]
add esp, 0x10
cmp dword [eax - 0xc], 0
jne 0x4197bc
push 0x5cac00
call fcn.0041f1e0
add esp, 4
jmp 0x4197ca
push eax
push 0x5cac3c
call fcn.0041f1e0
add esp, 8
push 0xe
push str._04X_s
lea ecx, [esp + 0x14]
call fcn.00409910
mov eax, dword [edi + 0xb0]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x81
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x82
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x83
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
mov edx, dword [edi + 0xac]
add esp, 0x10
cmp dword [edx - 0xc], 0
jne 0x419876
push 0x5cac74
call fcn.0041f1e0
add esp, 4
jmp 0x41988a
mov eax, dword [edi + 0xb0]
push eax
push 0x5caca4
call fcn.0041f1e0
add esp, 8
push 0x12
push 0x5ca948
lea ecx, [esp + 0x14]
call fcn.00409910
mov ecx, dword [edi + 0xd4]
mov eax, dword [esp + 0xc]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x84
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x85
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x12
push 0x5ca970
lea ecx, [esp + 0x14]
call fcn.00409910
mov edx, dword [edi + 0xd8]
mov eax, dword [esp + 0xc]
push edx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x86
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x87
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x5ca998
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [edi + 0xdc]
push eax
mov eax, dword [esp + 0x10]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x88
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x89
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x5ca9c8
lea ecx, [esp + 0x10]
call fcn.00409a00
mov ecx, dword [edi + 0xe0]
mov eax, dword [esp + 0xc]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x8a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x8b
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x5ca9f8
lea ecx, [esp + 0x10]
call fcn.00409a00
mov edx, dword [edi + 0xd0]
push edx
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x8c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x8d
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x5caa14
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [edi + 0xe4]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x8e
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x8f
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x90
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 0x5caa28
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0xc4], 0
je 0x419bc6
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x91
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x92
jmp 0x419bfc
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x93
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x94
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x5caa54
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0xc8], 0
je 0x419c79
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x95
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x96
jmp 0x419caf
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x97
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x98
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x5caa70
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0xcc], 0
je 0x419d2c
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x99
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x9a
jmp 0x419d62
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x9b
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x9c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x5caa94
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [edi + 0xec]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0x9d
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0x9e
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0x9f
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 0x5caaa8
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [edi + 0xf0]
push ecx
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x40], 0xa0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0xa1
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xa2
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041d350
add esp, 0x10
push 0x5caae4
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0xfc], 0
je 0x419efd
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0xa3
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xa4
jmp 0x419f33
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0xa5
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xa6
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x5caac8
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0xf4], 0
je 0x419fb0
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0xa7
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xa8
jmp 0x419fe6
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0xa9
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xaa
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
add esp, 0x10
push 0x5cab00
lea ecx, [esp + 0x10]
call fcn.00409a00
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
cmp dword [edi + 0xf8], 0
je 0x41a063
push 1
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0xab
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xac
jmp 0x41a099
push 0
push ecx
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 0xad
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x48], 0xae
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.004090a0
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x48], bl
call fcn.0041e340
mov byte [esp + 0x48], 1
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a0e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x38], 0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a10a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a132
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret