Function at 0x40249c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push 5
pop esi
mov dword [ebp - 4], esi
mov eax, dword [ebp - 4]
cmp eax, esi
je 0x4024fb
push 0x19
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__5__Atomic_variable_did_not_initialize_
push str.Assertion_failure:__s__at__s:_d_n
push 2
pop edi
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push edi
call esi
pop ecx
push eax
call fcn.004075b9
push edi
call esi
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
add esp, 0x1c
int3
xor eax, eax
lea ecx, [ebp - 4]
inc eax
lock xadd dword [ecx], eax
cmp eax, esi
je 0x402519
push 0x1c
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_6___Atomic_increment_did_not_work_
jmp 0x4024c0
xor eax, eax
lea ecx, [ebp - 4]
inc eax
lock xadd dword [ecx], eax
cmp eax, 6
je 0x402538
push 0x1d
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_6___Atomic_post_increment_did_not_work_
jmp 0x4024c0
mov eax, dword [ebp - 4]
push 7
pop ebx
cmp eax, ebx
je 0x402555
push 0x1e
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_7___Atomic_post_increment_did_not_work_
jmp 0x4024c0
or ecx, 0xffffffff
lea edx, [ebp - 4]
mov eax, ecx
lock xadd dword [edx], eax
cmp eax, ebx
je 0x402578
push 0x21
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.__atomic__6__Atomic_decrement_did_not_work_
jmp 0x4024c0
lea eax, [ebp - 4]
lock xadd dword [eax], ecx
cmp ecx, 6
je 0x402597
push 0x22
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic____6__Atomic_post_decrement_did_not_work_
jmp 0x4024c0
mov eax, dword [ebp - 4]
cmp eax, esi
je 0x4025b1
push 0x23
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__5__Atomic_post_decrement_did_not_work_
jmp 0x4024c0
mov ecx, esi
lea eax, [ebp - 4]
lock xadd dword [eax], ecx
mov eax, dword [ebp - 4]
cmp eax, 0xa
je 0x4025d5
push 0x28
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_10___Atomic__did_not_work_
jmp 0x4024c0
cmp ecx, esi
je 0x4025ec
push 0x29
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.result__T_10___Atomic__returned_the_wrong_value_
jmp 0x4024c0
push 0xfffffffffffffffd
pop ecx
lea eax, [ebp - 4]
lock xadd dword [eax], ecx
mov eax, dword [ebp - 4]
cmp eax, ebx
je 0x402610
push 0x2b
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_7___Atomic___did_not_work_
jmp 0x4024c0
cmp ecx, 0xa
je 0x402628
push 0x2c
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.result__T_7___Atomic___returned_the_wrong_value_
jmp 0x4024c0
mov dword [ebp - 4], esi
mov eax, dword [ebp - 4]
cmp eax, esi
je 0x402645
push 0x30
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_5___Atomic_assignment_failed_
jmp 0x4024c0
push 2
pop edi
lea edx, [ebp - 4]
mov eax, dword [edx]
mov ecx, eax
xor ecx, edi
lock cmpxchg dword [edx], ecx
jne 0x40264d
mov ecx, eax
mov eax, dword [ebp - 4]
xor ecx, edi
cmp eax, ebx
je 0x40267a
push 0x35
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_7___Atomic__did_not_work_
push str.Assertion_failure:__s__at__s:_d_n
jmp 0x4024c8
cmp ecx, ebx
je 0x40268e
push 0x36
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.result__T_7___Atomic__returned_the_wrong_value_
jmp 0x402670
push 4
pop ebx
lea edx, [ebp - 4]
mov eax, dword [edx]
mov ecx, eax
xor ecx, ebx
lock cmpxchg dword [edx], ecx
jne 0x402696
mov ecx, eax
mov eax, dword [ebp - 4]
xor ecx, ebx
cmp eax, 3
je 0x4026bc
push 0x38
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_3___Atomic__did_not_work_
jmp 0x402670
cmp ecx, 3
je 0x4026d1
push 0x39
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.result__T_3___Atomic__returned_the_wrong_value_
jmp 0x402670
push 8
pop ebx
lea edx, [ebp - 4]
mov eax, dword [edx]
mov ecx, eax
or ecx, ebx
lock cmpxchg dword [edx], ecx
jne 0x4026d9
mov ecx, eax
mov eax, dword [ebp - 4]
or ecx, ebx
push 0xb
pop esi
cmp eax, esi
je 0x402704
push 0x3b
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_11___Atomic__did_not_work_
jmp 0x402670
cmp ecx, esi
je 0x40271b
push 0x3c
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.result__T_11___Atomic__returned_the_wrong_value_
jmp 0x402670
lea edx, [ebp - 4]
mov eax, dword [edx]
mov ecx, eax
or ecx, ebx
lock cmpxchg dword [edx], ecx
jne 0x402720
mov ecx, eax
mov eax, dword [ebp - 4]
or ecx, ebx
cmp eax, esi
je 0x402739
push 0x3e
jmp 0x4026f3
cmp ecx, esi
je 0x402741
push 0x3f
jmp 0x40270a
push 0xc
pop esi
lea edx, [ebp - 4]
mov eax, dword [edx]
mov ecx, eax
and ecx, esi
lock cmpxchg dword [edx], ecx
jne 0x402749
mov ecx, eax
mov eax, dword [ebp - 4]
and ecx, esi
cmp eax, ebx
je 0x402771
push 0x41
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_8___Atomic__did_not_work_
jmp 0x402670
cmp ecx, ebx
je 0x402788
push 0x42
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.result__T_8___Atomic__returned_the_wrong_value_
jmp 0x402670
push 0x1e
pop ebx
push 0x2a
mov dword [ebp - 4], ebx
lea eax, [ebp - 4]
pop ecx
xchg dword [eax], ecx
mov eax, dword [ebp - 4]
cmp eax, 0x2a
je 0x4027b1
push 0x47
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_42___Atomic_exchange_did_not_work_
jmp 0x402670
cmp ecx, ebx
je 0x4027c8
push 0x48
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.result__T_30___Atomic_exchange_returned_the_wrong_value_
jmp 0x402670
and dword [ebp - 8], 0
lea eax, [ebp - 8]
push edi
push 4
push edi
push eax
xor esi, esi
lea eax, [ebp - 4]
inc esi
push eax
mov dword [ebp - 4], esi
call fcn.004071ce
add esp, 0x14
test eax, eax
je 0x4027fd
push 0x4d
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str._boolResult__CAS_should_have_returned_false._
jmp 0x402670
mov eax, dword [ebp - 4]
cmp eax, esi
je 0x402817
push 0x4e
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_1___CAS_shouldnt_have_done_anything._
jmp 0x402670
push edi
push 4
push 0x2a
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], esi
push eax
lea eax, [ebp - 4]
push eax
call fcn.004071ce
add esp, 0x14
test eax, eax
jne 0x402846
push 0x51
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.boolResult__CAS_should_have_succeeded._
jmp 0x402670
mov eax, dword [ebp - 4]
cmp eax, 0x2a
je 0x402861
push 0x52
pop ebx
push ebx
push str.c:_builds_moz2_slave_m_in_w32_000000000000000000000_build_src_mfbt_tests_TestAtomics.cpp
push str.atomic__T_42___CAS_should_have_changed_atomics_value._
jmp 0x402670
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret